My Profile
Help
Hot Topics
Top Community Contributors
Displaying items by tag: ras
EA User Group 2014: smart use cases, code generation tool, EA11 cloud services, RAS and OSLC
Last May I went to the European EA User Group in the UK (Maidenhead) where the Enterprise Architect community gathered. Prior to delivering my presentation on the alternatives to set up a shared Enterprise Architect project, I attended several presentations, including the following ones that are covered in this article:
- Pragmatic agile model driven development using smart use cases by Sander Hoogendoorn (Capgemini, NL)
- Enterprise Architect Version 11 Cloud Services, OSLC and RAS by Phil Chudley (Dunstan Thomas, UK)
Pragmatic agile model driven development using smart use cases
Sander Hoogendoorn shared the use of smart use cases, coupled with Enterprise Architect and a custom-made code generation tool, Tobago MDA.
Smart Use Cases
Sander and his team at Capgemini developed their own agile process, called SMART, which involves the use of smart use cases to capture and manage functional requirements, as explained hereafter. Note: the SMART agile process has been applied over the past 10 years; it is based on agile and iterative best practices.
Smart use cases match « sea » and « fish » granularity use cases according to the following levels defined by Alistair Cockburn in his book "Writing Effective Use Cases":
Where traditional use case modeling can lead to several pages of documentation, including triggers, pre/post conditions, actors, main/alternative scenarios, and so on, smart use cases maintain a visual deliverable via use case diagrams as each use case is detailed by several smaller use cases connected with “extends” and “includes” associations (smart use cases can be reused amongst use cases). On average, a “standard” use case is associated with 20 smart use cases.
Stereotypes have been created to choose the type of a smart use case from a list of identified patterns: select, search, manage, file import or export, validation service, etc. Smart use cases also serve estimation purposes. An estimation value has been defined on the smart use case stereotypes to provide a default value (from 1 to 10 points) according to the selected type (e.g. 2 points for a “select” smart use case). This enables accessing all the information from our models and diagrams as illustrated below:
Here is another example with UI smart use cases in yellow and a Service smart use case in red, alongside their respective estimation points.
Project Management Dashboard
In order to manage the project according to the smart use cases defined in Enterprise Architect, www.speedbird9.com website has been created by Sander and his team. This site makes it possible to import/export smart use cases with Enterprise Architect via XMI or CSV files for planning and progress management.
Here is an illustration where smart use cases have been imported from Enterprise Architect:
Tobago MDA code generation tool
Sander released with his team Tobago MDA, a code generation tool built for smart use cases defined in Enterprise Architect. This tool generates source code based on templates, making it possible to define the content required by any programming language (e.g. dotNet C#, Java, PHP…). Tobago MDA is shipped with pre-defined templates used by Capgemini for different types of projects including Java, .Net, PowerBuilder (Sybase – SAP), and BI. Tobago MDA has been used in dotNet projects to produce 100% of the code for average use cases.
The Tobago templates are easy to understand text files. Syntax mechanisms built for these templates include tags and methods e.g. to loop on a class attributes, test an empty value, etc. Tobago MDA can access the Enterprise Architect models using an XML file created via an XMI export, or by connecting directly to an Enterprise Architect project without having to open Enterprise Architect.
The presentation ended with a demonstration; Sander created in the Enterprise Architect project a “search” smart use case to add a new Search feature for an existing dotNet web application. Once the model was updated, Tobago was launched to generate new C# files. Then Visual Studio was used to re-build the application. Finally the app was run to show that a new search feature was available, with criteria matching the attributes entered in the smart use case.
Tobago MDA is available from the following site: www.smartusecase.com.
New Enterprise Architect 11 features: Cloud Services, RAS, OSLC
Phil Chudley from Dunstan Thomas gave us an efficient speech and demo based on his in-depth trial of new Enterprise Architect 11 features: Cloud Services, OSLC, and Reusable Asset Service.
Cloud Services
Cloud Services makes it possible for Enterprise Architect 11 users to access Enterprise Architect projects from anywhere via the http/https protocols. As a result an Enterprise Architect project can be either accessed from the LAN or from the Internet. Cloud services provide short response times to suit slow remote access.
Cloud Services are available to download for free from Sparx Systems website. It can be installed as a Windows Service or integrated with an existing IIS web server. Installation includes a management client software. Setting up a user access to a project is very easy; only the url and credentials are required (compared with a project hosted on a local database requiring an ODBC connector driver and the connection string to the DB).
Note: this service doesn’t work with EAP files i.e. a DBMS must be used.
Note: Sparx Cloud Services mustn’t be confused with hosting services in the Cloud, such as a MS Azure SQL Database available online, since they aim at providing access to locally hosted Enterprise Architect projects from the Internet.
Once installed, the management software can be used to expose to the outside world one or several Enterprise Architect projects, as per the provided configuration including: http or https protocol, authentication mode, read-only access enabled/disabled, and setting any limitation on the max number of concurrent users. This software also displays the currently opened projects via the Cloud Services.
http connection to Enterprise Architect models has enabled Sparx Systems to provide additional features: OSLC and RAS.
OSLC: Open Services for Lifecycle Collaboration
The Open Services for Lifecycle Collaboration (OSLC) is an open community that has defined a set of specifications to enable integration of software development, e.g. to let Application Life-cycle Management (ALM) and Product Life-cycle Management (PLM) software communicate and exchange information.
Enterprise Architect 11 currently supports OSLC to access and manage requirements only. Requirements can be accessed with an XML content through the use of urls from a browser. A client application can be implemented to access web services from Sparx Enterprise Architect in order to run queries or create new requirements.
Examples: Query -> http://server-name:port/repository-name/oslc/qc/?oslc.where=ss:type=“Functional”, Create -> http://server-name:port/repository-name/oslc/cf/
Note: it is currently possible to test OSLC queries from online SparxSystems Enterprise Architect projects, as illustrated below: http://sparxcloud.co.uk/Example/oslc/qc/
With the following url, results are limited to « Chuck Wilson » author: http://sparxcloud.co.uk/Example/oslc/qc/?oslc.where=dcterms:creator=%22Chuck%20Wilson%22
RAS: Sparx Systems Reusable Asset Service
Reusable Asset Service or RAS is intended to let various teams integrate in their respective Enterprise Architect projects distributed and reusable models/resources, stored in a central Enterprise Architect project, acting as a library or framework. Users may update the reusable assets and resources from Enterprise Architect providing they have a write access.
To use RAS, an Enterprise Architect project must be set up in a central database (e.g. MySQL, SQL Server…), with access via http using Sparx Cloud Services, where reusable models will be created and published. Users can access its content using the RAS feature from another Enterprise Architect project.
Provided a user has a write access, a package that for instance contain a class model for a Bookstore can be added to the shared and reusable project.
Once this is done, other teams of users can open the RAS model and import the published package to use it. Phil pointed out during his demo that management of dependencies between packages in RAS should be improved.
It seems to me that this feature could especially be useful and applied for a project Framework, or to let standards organizations publish and share their models for anyone to use in their Enterprise Architect project.
Conclusion
This year’s EA User Group has really been interesting thanks to the content delivered during the presentations. It has also been an opportunity to meet and exchange with other Enterprise Architect users and experts.
Official EA User Group website: www.eausergroup.com.
The Internet of Things, Connectedness and Big Data
As the impact from the digital industrial economy takes effect, it will drive the need for enterprise architects to digitally renew the business. In a connected world, there is no place for silos, and the extent of connectivity determines levels of inclusion in the digital economy, the quality of service/product and resulting customer loyalty.
Sparx Systems supports those enterprise architects who are navigating business enterprise and facilitating digital business renewal, through rapid and unprecedented change.
Optimised service networks encourage closer consumer relationships, which in turn promote improved business relationships, while providing value added competitive barriers. Service differentiation will come from those organisations that succeed in integrating digital technologies to deliver consumers a unique and ongoing experience.
To ensure maximum customer retention and growth, utilities and telecommunications rely heavily on geospatial information systems, mobile workforce applications and communications management, for the construction, operation, maintenance and management of critical network systems.
In 1999 the National Academy of Engineering (NAE) identified electrification as the first of the 20 greatest engineering achievements of the 20th century and the Smartgrid - which is driving modernisation of the electricity grid - became federal policy, with the passage of the Energy Independence and Security Act of 2007
The adoption of smart metering capabilities and the creation of new grid infrastructures are extending transmission and distribution systems in ways, which until recently, were not considered in the realm of the possible. Enterprise Architect is used to maintain the Common Information Model (CIM) - Read More Here
But, now this extension is connecting new or previously siloed networks, in an interoperable, communications model. This Smartgrid is a subset of a global tissue of smart connected devices called the Internet of Things (IoT). See http://www.iot-a.eu/public
The ability to automatically transfer data over a network without requiring human-to-human or human-to-computer interaction is a scenario that suggests an explosion of connections. Providing unique identifiers with such capability, to objects, animals and people will push the installed base of connected things to 212 billion by 2020 according to IDC.
While the functionality of the Internet is based on open and interoperable standards, enabling interoperability and global accessibility the Internet of Things is for most part, a heterogeneous world of silos where standards for scalability, governance and security are yet to be developed.
The explosion of the Internet of Things will contribute to the generation of data volumes, which combined with other sources is referred to as Big Data and which threaten to outstrip our ability to deal with it while sowing new data silos. Without support from collaborative technologies that support highly automated processes, the time required make this data re-usable is impractical.
According to a 2012 Whitepaper by Oracle, An Architects Guide to Big Data, architects are expected to provide a fast, reliable path to business adoption while embracing new technologies and techniques are always challenging. These technologies and techniques should then be deployed to “share knowledge, establish standards, and to manage best practices”.
At a time when the resource “bandwidth” of the enterprise architect is being squeezed under the pressure of tasks and responsibilities, the pressure can be reduced through collaboration – the positive difference between the sum of the parts and the whole!
An affordable shared platform, supporting a highly scaleable, networked collaboration solution, is necessary. With the recent release of Enterprise Architect 11 Sparx Systems has provided several features to address this issue. The Cloud Service, Reusable Asset Service (RAS) and OSLC are a trinity of tools, which when used together, provide a powerful solution.
The Sparx Systems Cloud Services application provides a convenient mechanism for hosting data models while providing easy access to all team members, external customers and consultants, anywhere around the world.
The implementation of the RAS standard within Enterprise Architect provides a shared remote registry, accessible via a Cloud Service connection that will allow organizations to securely share information between one another in a standardised environment. Users can view the information in a single, consolidated virtual registry-repository, while retaining local control over their own registry-repositories, while modellers can easily and conveniently distribute or download data resources including reusable model structures, information, corporate directives or standards. http://www.sparxsystems.com.au/products/ea/cloud-trial.html
Open Services for Lifecycle Collaboration (OSLC), makes it easier for different tools to work together and users can Create, Read, Update and Delete model information such as requirements. A video can be accessed here http://www.sparxsystems.com.au/products/ea/11/index.html
Sparx Systems has partnered with CSIRO to support the ongoing development of model registry features and functionality for Sparx's Enterprise Architect UML modelling tool. http://www.sparxsystems.com.au/press/articles/CSIRO-Collaboration.html