1. Store Sparx EA model as a firebird database (choose .feap) so it can be natively accessed from Windows, Linux, and OSX
  2. Install firebird - can be 2.5 for osx
  3. Add current user to firebird group to enable access to the databases - osx: sudo dseditgroup -o edit -t user -a USERNAME firebird or linux: sudo adduserid -unfirebird
  4. Add firebird home and path to .bash_profile - export FIREBIRD_HOME=/Library/Frameworks/Firebird.framework/Resources; export PATH="$FIREBIRD_HOME/bin:$PATH"
  5. Install python driver fdb
  6. Access feap databases as regular firebird databases

Useful Tips:


In [1]:
import fdb

In [6]:
con = fdb.connect(dsn='/Users/ashapoch/Dropbox/_tsg/github-tsg-assessment-service/docs/wp.feap', 
                  user='sysdba', password='masterkey')

In [7]:
cur = con.cursor()

In [19]:
cur.execute("select object_type, stereotype, name, note from t_object")


Out[19]:
<fdb.fbcore.Cursor at 0x106935c50>

In [20]:
results = cur.fetchall()

In [21]:
import pandas as pd

In [22]:
elements = pd.DataFrame(results, columns=['object_type', 'stereotype', 'name', 'note'])

In [23]:
elements


Out[23]:
object_type stereotype name note
0 Package None Use Case Model None
1 Package None Acquiring Use Cases Credit Card Processing System (aka Credit Card...
2 Actor None Merchant A merchant selling goods or services and conne...
3 Actor None UnionPay Interbank Network The interbank network bridging card issuing ba...
4 UseCase None Authorize In some cases, only authorization is requested...
5 UseCase None Authorize and Capture Authorize and Capture use case is the most com...
6 UseCase None Capture Capture (request to capture funds that were pr...
7 UseCase None Credit Credit use case describes situations when cust...
8 UseCase None Verify Verify use case describes zero or small amount...
9 UseCase None Void Void use case describes cases when it is neede...
10 Boundary None WPUP Gateway The payment processing gateway component boundary
11 Boundary None Integration Architecture None
12 Package None Domain Model None
13 Class None Cardholder None
14 Class None Issuing Bank None
15 Class None Merchant None
16 Class None Acquiring Bank None
17 Class None Payment Brand Network Payment networks refer to the networks that ha...
18 Class None Payment Card None
19 Class None Payment Gateway None
20 DataType None PAN The card number is perhaps the most important ...
21 DataType None Cardholder Name None
22 Package None Acquiring Domain Model None
23 Boundary None Business Case None
24 Text None Component Model : Integration Context Component Model : Integration Context
25 Enumeration None Payment Brand None
26 Package None Component Model None
27 Component None Sabre None
28 Component None UnionPay None
29 Port None UP Leased Line None
... ... ... ... ...
55 Text None $help://deployment_model_pattern.htm None
56 Package None Nodes None
57 Package None Clients None
58 Package None Devices None
59 Package None Servers None
60 Package None Artifacts None
61 Package None Topology None
62 Class None ISO8583 Message A message conforming payment transaction ISO 8...
63 Class None Merchant Transaction Message A transaction message coming from one of the m...
64 Component None Client ISO8583 Channel Transmission channel connected to the UP lease...
65 ProvidedInterface None Transaction Service None
66 Component None Message Transformer transforms messages coming from WP PaymentTrus...
67 Port None None None
68 Component None ISO8583 Packager Packs messages in the format accepted by the U...
69 Component None Message Buffer Accepts and stores transaction messages coming...
70 Port None None None
71 Component None Transaction Executor consumes transaction messages from the buffer ...
72 Text None Component Model : WPUP Gateway Structure Component Model : WPUP Gateway Structure
73 DataType None CVV None
74 DataType None Expiration Date None
75 Class None Bank None
76 Text None Acquiring Use Cases : Acquiring Use Cases Acquiring Use Cases : Acquiring Use Cases
77 Text None Acquiring Domain Model : Acquiring Domain Model Acquiring Domain Model : Acquiring Domain Model
78 Text None Acquiring Domain Model : Payment Card Acquiring Domain Model : Payment Card
79 Association None Purchase None
80 Class None Bank Account None
81 Association None Acquiring Transaction None
82 Association None None None
83 Class None Merchant Transaction None
84 Class None Acuiring Transaction None

85 rows × 4 columns


In [ ]: