Methodology and Technology Services

Google
 
Web www.ies.aust.com

| Home | Courses | Certification | Projects | Papers | EA Blog | Online Store | Contact Us |

THE ENTERPRISE NEWSLETTER

TEN#39: Review of Enterprise Architect

Printable PDF Version

CONTENTS


Introduction

January 10, 2008: This issue reviews a modeling tool for Enterprise Architecture from Sparx Systems Pty Ltd, an Australian company. This product is titled: "Enterprise Architect" (EA). I also outline my plans for retirement later this year.

I refer you to an earlier TEN issue describing online webcast video courses covering the "Rapid Delivery of  Enterprise Architecture", as well as the self-study course: "Certified Business Data Modeler (CBDM)". These were discussed in TEN37.

If you do not want to receive future TEN mailings, please email unsubscribe@ies.aust.com with “Remove” and your email address in the Subject line.

Clive Finkelstein
Publisher, The Enterprise Newsletter (TEN)

Back to Contents


Forward Plans

I have been working in the IT industry now for 46 years, from Jan 1962 - first with IBM in Australia and the USA for nearly 15 years and then with Information Engineering Services Pty Ltd (IES) in Australia from 1976.

Over this period I have seen the industry grow with new hardware, software and methods - and I have been able to make  my own contribution with the development and evolution of  Information Engineering (IE). It has been an exciting and interesting time, but frankly, now I am tired. I need to stop most of the travelling.

I will still present some inhouse courses and I will still consult and assist Government, Defense and Commercial organizations to implement their EA projects. However I will no longer be presenting public courses. If you want me to assist you with your upcoming EA project, email me at cfink@ies.aust.com now to discuss your project with me.

I plan to publish a second edition of my 2006 book: "Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies", Clive Finkelstein, Artech House, Norwood, MA (2006).

Back to Contents


TEN#39: Enterprise Architect – An Outstanding Performer

In many Enterprise Architecture projects over the years I have used a variety of modeling tools.  I started using a more recent tool: Enterprise Architect (EA) which is produced by Sparx Systems Pty Ltd, an Australian Software Company located in a regional city, Creswick, in the State of Victoria. The founder and CEO is Geoff Sparks.

First released in 2000, EA has evolved over the years and has acquired a well-earned reputation as a UML-based CASE tool with over 100,000 users world-wide. However its name has always worried me: I felt that it should have been called “UML Architect”, not “Enterprise Architect”. With its latest release – V7.0 – it has now truly earned the right to use the name: Enterprise Architect. This issue of TEN reviews the capabilities of this amazing product. Complete details are available from the Sparx web site at www.sparxsystems.com where an evaluation version can also be downloaded.

My first introduction to Sparx Systems was through their Chief Operating Officer, Ben Constable, who attended my public workshop: “Rapid Delivery of Enterprise Architecture” that I presented in Sydney in late 2006. This course provides skills-transfer in methods and technologies for rapid delivery of Enterprise Architecture in 3-month increments. These methods and technologies are detailed in my 2006 book: Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies”, by Clive Finkelstein, Artech House, Norwood MA (March 2006).

Ben Constable approached me during the course to discuss whether and how these rapid delivery methods could be incorporated into EA. I told him that Chapter 7 of the book was written specifically so that users could learn how to apply the rapid delivery methods manually and so that developers could automate these methods and incorporate them into modelling tools. From that discussion Sparx engaged me as a Consultant to advise their developers over a 1-week assignment in Jan 2007. I found their developers were very bright and eager to learn these rapid delivery methods.

They added extensions – as an Add-In to V7.0  – to provide a clickable front-end interface using the Zachman Framework for Enterprise Architecture. They also added support to derive project plans automatically from data models and also derive project maps, based on Chapter 7 of my book. These capabilities are essential if a modeling tool is to be able to identify reusable processes as subprojects for early delivery into production in 3-month increments. As this development moved to a Beta release I was then able to test what they had implemented: called the “MDG ZF Add-In” (formally named the “MDG Technology for Zachman Framework”). 

My first experience with EA, I must admit, was one of confusion. This is such a comprehensive product that it was hard to know where and how to start. However after some prompting from Sparx Systems I located an introductory video on their web site, which got me started. Make no mistake, its low price: $US200 - $US300 per user depending on license usage led me at first to suspect that it was not a full-featured Enterprise Architecture product. How wrong was I in this assumption: it is one of the most complete, fully-featured yet easy-to-use products that I have ever encountered!

EA supports all 13 UML 2.1 diagrams, including UML Class Diagrams and support for IE and IDEF1x data modeling notations plus DDL generation for DB2, InterBase, Informix, Ingres, MS Access, MySQL, Oracle  9i and 10g, PostgreSQL, MS SQL Server 2000 and 2005, SQL Server7, Sybase Adaptive Server Anywhere and Sybase Adaptive Server Enterprise . It reverse engineers from any ODBC data base.

EA can connect to database repositories on SQL Server 2000 and 2005, MySQL, Oracle9i and 10g, MS Access, PostgreSQL, Adaptive Server Anywhere, MSDE Server or Progress OpenEdge. It includes built-in support for Requirements Management and for Project Management with support for resources, metrics and testing. It automatically generates HTML and Rich-Text (RTF) comprehensive documentation. It generates and reverse engineers code in a number of languages including C, C++, C#, Delphi, Java, PHP, Python, Visual Basic and VB.NET.

Model-Driven Architecture (MDA) transforms are provided, according to Sparx as follows:

(EA) provides a fully configurable method of converting model elements and model fragments from one domain to another. This typically involves converting Platform-Independent Model (PIM) elements to Platform-Specific Model (PSM) elements. A single element from the PIM could be responsible for creating multiple PSM elements across multiple domains.

Transformations are a huge productivity boost, and reduce the need to manually implement stock classes and elements for a particular implementation domain; for example, database tables can be automatically derived from persistent PIM classes. Enterprise Architect includes some basic built-in transformations, such as PIM to Data Model, PIM to C#, PIM to Java and PIM to XSD.

Model-Driven Generation (MDG) technology enables Sparx Systems to extend EA’s core functionality. This has been used in V7.0 to add: built-in support for Business Process Modeling Notation; and support for a clickable front-end interface using the Zachman Framework for Enterprise Architecture (as the MDG ZF Add-In) which includes automatic derivation of project plans and reusable processes from data models for early delivery of priority processes into production in 3-month increments. MDG add-ins are also supplied for Visual Studio and Eclipse. These enable Enterprise Architect to interoperate with the Microsoft® Visual Studio® 2005 and Eclipse IDEs respectively.

“MDG Integration for Visual Studio 2005 tightly integrates Enterprise Architect into the Microsoft® Visual Studio® 2005 development environment. This product enables users to explore and edit the UML model inside Visual Studio and also provides many of the key features of Enterprise Architect directly within the IDE, including rich text and web-based document generation, MDA transformations, Baseline management and Engineering of key XML-based technologies.

EA has the ability to easily add new diagramming approaches and icons. For examples, support is included for documenting Mind Maps and also Strategy Maps (used with Balanced Scorecard).  The latter is not normally supported by modeling tools, yet is essential to provide effective support for requirements based on Strategic Business Plans.

Support is included for Model Validation, which checks UML models against known UML rules, as well as any constraints defined within the model, using the Object Constraint Language (OCL). Code engineering support is included for: “automated code generation, reverse engineering of source code and synchronization between the source code and model. It is available only in the Professional and Corporate editions of Enterprise Architect.”  According to Sparx Systems:

“Enterprise Architect enables you to generate source code from UML models in more than ten commonly used development languages out of the box, including: ActionScript (Macromedia Flash development language), C, C# (for both .NET 1.1 and .NET 2.0), C++  (standard plus .NET managed C++ extensions, Delphi, Java (including Java 1.5, Aspects and Generics), PHP, Python, Visual Basic, Visual Basic .NET. The source code generated includes class definitions, variables and function stubs for each attribute and operation in the UML class. In addition, Enterprise Architect enables you to edit and generate XSD and WSDL XML source.”

EA provides a “Code Template Framework” capability to transform from UML elements to the various parts of a given programming language. This enables you to: generate source code from UML models, customize the way in which Enterprise Architect generates source code and forward engineers languages not specifically supported by Enterprise Architect. The Code Template Framework consists of: default code templates that are built into Enterprise Architect for forward engineering supported languages and a code template editor for creating and maintaining User-defined Code Templates. It provides a Live Code Generation feature that automatically updates your source code instantly as you make changes to your model. For example, when you create new operations and attributes for a class in the model, these are instantly written out to the source file.

“The Professional and Corporate versions of Enterprise Architect enable you to build, test, debug, run and execute deployment scripts, all from within the Enterprise Architect development environment. This capability provides developers with tools to integrate UML development and modeling with source development and compilation. With the ability to generate nUnit and jUnit test classes from source classes using MDA Transformations and integrate the test process directly into the Enterprise Architect IDE, you can now integrate UML and modeling into the build/test/execute/deploy process.”

Enterprise Architect supports version control of packages and their component sub-packages to a central repository. This repository is maintained by third-party version control applications that control access and record revisions.

Enterprise Architect ships with several predefined Model Patterns to assist in the creation of new projects and models. Each pattern contains notes, references and starter elements that together provide a framework on which you can build your own model.

The User Interface for EA includes: “The Project Browser, which displays the complete contents of a model or project in a hierarchical format. This enables you to add, select, reorganize or delete packages, diagrams and elements anywhere in the project; The Toolbar,  which is context-sensitive to the diagram being created, provides a quick and efficient means of selecting and creating the appropriate model elements or connectors, whether they be UML, from extended diagrams or from imported technologies; the Diagram View, which enables you to display and develop diagrams selected from the Project Browser; diagram backgrounds, connectors and elements can be colored with or without a color gradient for color-coding or for better display and presentation; context menus, which provide options specific to the type of object and its immediate environment.”

Enterprise Architect enables fast editing of element properties directly from the diagram. Using in-place edit commands, you can rapidly add and update element features such as attributes, operations and parameters, all without leaving the Diagram View.

A Quick Linking capability provides a fast and ‘in-place’ mechanism for creating new elements and connectors on a diagram. Its context-sensitive selection menus help guide creation of 'correct' models, saving users’ time and improving overall productivity. In addition: “you can export diagrams to a range of image formats (.bmp, .jpg, .png, .gif, .emf and .wmf); swim-lanes enable logical partitioning of diagrams; the Pan & Zoom window enables easy navigation and preview of complex diagrams; you can lock down diagrams to prevent accidental modification; Enterprise Architect Shape Scripts enable you to specify custom shapes via a scripting language, each shape being keyed to a stereotype; these custom shapes are drawn instead of the standard UML notation for every element of the same stereotype; you can also superimpose alternative images – as metafiles - on diagrams and elements, to replace the standard image.”  This latter capability enables the “stick-figures” and other icons of UML diagrams to be replaced by more business-oriented images.

Enterprise Architect’s Auditing feature enables you to track and record changes made to the model over time. By enabling this option, model administrators can view a range of information regarding changes, such as: “who changed an element; how many elements they changed; when they changed the data; what the previous values were, and what type of elements they changed.”

The Relationship Matrix enables you to study the relationships between model elements in a tabular view. It also enables you to create, modify and delete relationships between elements with a single mouse click.

The production of documentation is essential to realizing the full benefit of any modeling tool. Enterprise Architect outputs high quality documentation in either RTF or HTML format. “You can modify the RTF formatting directly with RTF Style templates to alter the look and feel of generated output. Using MS Word you can further enhance the output by connecting and interweaving model output in linked documents. There are many ways to specify the Enterprise Architect content being documented. You can: document a package and/or its child packages by manually highlighting the package and selecting a documentation control; specify embedded packages for exclusion if child packages are recursively documented; link a package to an RTF document template to simplify generating consistent types of documentation (such as Use Case reports) using the Documents feature.” 

You can select, group and order packages together in a manner different from the project view by creating ‘virtual’ documents. 

The Rich Text Format (RTF) Report Writer Style Template editor enables you to create and edit custom RTF templates to define any output RTF documentation. “The Style Template Editor enables you to select particular model elements and then to specify, from the element type, the fields for inclusion in the generated document. Formatting styles can be defined in the Style Editor, and items such as tables of contents and headers can be added to the document.”

“Enterprise Architect enables you to export an entire model or a single branch of the model to HTML web pages using the HTML Report Writer. The HTML report provides an easy-to-use and highly detailed model tree. In addition, hyperlinked elements make browsing to related information very easy. The HTML documentation is based on user-customizable HTML templates, so you can tailor the generated web-pages to suit your company standard.”

Enterprise Architect enables you to link rich-text documents to any element in the model. Linked documents are created from customizable templates and are included in generated web and Word-based reports.

Enterprise Architect offers a diverse set of functionality designed specifically for sharing projects in team-based and distributed development environments. Projects can be shared through network deployment of model repositories, replication, XMI Import/Export, Version Control, Package Control and User Security.

Network deployment can be achieved with an EAP (file based) repository or by using a dedicated DBMS (server based) repository. The Corporate Edition of Enterprise Architect supports large projects and many concurrent users. It “enables the use of database repositories rather than use the standard .EAP files to store model data. Enterprise Architect supports the following DBMS repositories: “MS SQL Server ; MySQL; Oracle; PostgreSQL; Progress OpenEdge; MSDE Server; Adaptive Server Anywhere.”.

You can use the XMI Import/Export facility to model discrete packages that can be exported and shared between developers. XMI enables you to export packages into XML files that can then be imported into any model. 

Package control can be used to set up packages for version control and enables batch export of packages using XMI. Version Control enables you to maintain a repository by a third-party source code control application, which is used to control access and record revisions.

“Enterprise Architect supports version control of project root nodes, packages and their component sub-packages to a central repository. This repository is maintained by third-party version control applications that control access and record revisions. Version control products supported for Enterprise Architect include CVS, Subversion, Microsoft Team Foundation Server (TFS) and SCC-compliant tools (including Visual Source Safe and Clear Case).”

Enterprise Architect’s built-in Data Modeling profile extends to the UML to provide an intuitive mapping from the database concepts of tables and relationships onto the UML concepts of classes and associations. These extensions also enable you to model database keys, triggers, constraints, RI and other relational database features.  When modeling or designing databases you might typically: “create a Data Model diagram; create a table; set properties of a table; create columns; create primary keys; create foreign keys; create stored procedures; create indexes, sequences, functions and triggers; generate DDL for a table; generate DDL for a package; convert datatypes for a table; convert datatypes for a package; customize datatypes for a DBMS; import a database schema from an ODBC data source; create views.”

Enterprise Architect supports data modeling of database schema from the following databases: “DB2; InterBase; Informix; Ingres; MS Access; MySQL; Oracle  9i and 10g; PostgreSQL; MS SQL Server 2000 and 2005; SQL Server7; Sybase Adaptive Server Anywhere; Sybase Adaptive.” Server Enterprise.” 

Analysis of legacy database systems is possible using Enterprise Architect’s reverse engineering capabilities. By connecting to a live database via ODBC, you can import the database schema into a standard UML model. Subsequent imports allow you maintain synchronization between the data model and the live database.

Exchanging data between different models, and between different tools, is an integral part of any development project. Enterprise Architect supports both of the two most common data exchange formats (XMI and CSV), making it easy for information and models to be ported into different tools and repositories as needed. Coupled with the Enterprise Architect API, this makes it possible to automate model import/export, and facilitates the easy dissemination of models and automated software construction. 

“The Model Driven Generator (MDG) Technologies enable you to download a logical collection of resources pertaining to a specific technology from a directory folder or web site into one centralized location in Enterprise Architect. With MDG Technologies you also have the option of granular importation of UML Profiles, UML Patterns, Code templates and Language types as an XML file into a single, easy to access area contained in the Enterprise Architect Resources window.  To get you started with MDG Technologies, Sparx Systems provide technologies such as ICONIX and Mind Mapping with the Enterprise Architect Installer, and offer further technologies for download from the Sparx systems website (http://www.sparxsystems.com/resources/mdg_tech).” 

“Enterprise Architect is available in four editions: Corporate (Floating), Corporate (Standalone), Professional and Desktop. Each edition offers a range of features to support the requirements of different groups of users, from single-person projects to large enterprise teams. The Corporate Floating license arrangement is particularly useful for companies that need to manage a central store of license keys. Floating license keys may be used by different employees over time, on a temporary or permanent basis. More information about Enterprise Architect editions is available from: http://sparxsystems.com/products/ea_editions.html.”

In conclusion I must say that with the MDG ZF Add-In to V7.0, EA has now truly earned the right to call itself “Enterprise Architect”. In fact, with this new support it is now the most capable modeling tool on the market today for Enterprise Architecture.

Complete details are available from the Sparx web site at www.sparxsystems.com where an evaluation version can also be downloaded. I encourage you to visit their web site, view the introductory videos, then download and evaluate the Sparx Systems Enterprise Architect modeling tool. You will be pleasantly surprised.

Back to Contents

Home
Courses

Certification

Projects
Papers
TEN Archive
EA Blog

Contact Us

Search

Online Store

 

 


AUTHOR

Clive Finkelstein is the "Father" of Information Engineering (IE), developed by him from 1976. He is an International Consultant and Instructor, and Managing Director of Information Engineering Services Pty Ltd (IES) in Australia. 

Clive Finkelstein's books, online interviews, courses and details are available at http://www.ies.aust.com/cbfindex.htm.

For More Information, Contact:

  Clive Finkelstein, Managing Director
Information Engineering Services Pty Ltd
PO Box 246, Hillarys, Perth WA 6923 Australia
 
  Details:
Web Site:
Phone:
Fax:
Email:
http://www.ies.aust.com/cbfindex.htm
http://www.ies.aust.com/
+61-8-9275-3459
+61-8-6210-1579
cfink@ies.aust.com

| Home | Courses | Certification | Projects | Papers | TEN Archive | EA Blog | Online Store |Contact Us | [Search |

(c) Copyright 2004-2009 Information Engineering Services Pty Ltd. All Rights Reserved.