Qiu-xia Zhang

Subscribe to Qiu-xia Zhang: eMailAlertsEmail Alerts
Get Qiu-xia Zhang: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Enterprise Architecture, SOA & WOA Magazine, Organization Visualization

Ulitzer Orgviz: Article

Modeling Service-Oriented Enterprise Architecture

PowerDesigner 15 provides an all-sided modeling approach and support for SOEA

How do you establish agile enterprise architecture? How can you rapidly develop and deploy applications to satisfy or even lead the market demand? Many enterprises are constructing and reorganizing the architecture using the concept of service-oriented architecture (SOA).

However, we may all encounter some problems when applying SOA using some existing development processes and notations, such as object-oriented analysis and design (OOAD), enterprise architecture (EA) frameworks, and business process modeling (BPM).

  • For OOAD, it provides a micro-level abstraction such as classes and individual object instances, but the application can be changed easier than the services. We need a super level of abstraction on the application level, and sometimes it's not synchronized with the BPM.
  • EA also is limited in that it cannot reach down to the design domain.
  • For BPM, the process modeling and the development initiatives are sometimes separated, and they typically don't reach into the architecture and implementation domain.

They also have some common problems: they don't address how existing applications can be enabled for SOA.

These issues suggest that these processes and notations cover only part of the requirements to support the SOA patterns. Thus, there is a need for an enhanced, interdisciplinary approach. Service-Oriented Enterprise Architecture (SOEA) includes elements from SOA, EA, OOAD, and BPM combined. It also complements them with some innovative elements.

As an all-in-one enterprise modeling tool, PowerDesigner provides an all-sided modeling approach and support for SOEA in version 15.0. It can be the best solution to resolving the above problems.

In this article we will discuss PowerDesigner's solution and provide an example.

PowerDesigner's Solution
PowerDesigner 15 provides unique support for SOEA from business goals to implementation.

EA Modeling Support
Users can design and manage the requirements with the Requirement model (RQM). In PowerDesigner 15, we provide a new model - Enterprise Architecture Model (EAM). EA is well supported in the context of SOA in EAM and other models. It can link and sync with all the other models just as RQM does. We will introduce PowerDesigner's support for SOEA modeling based on a typical four-layer structure (see Figure 1).

Business Layer
The Business Layer helps you analyze your organization in terms of business units, processes, and functions.

In PowerDesigner 15, users can use the City Planning Diagram, Process Map, Organization Chart, and Business Communication Diagram in the Enterprise Architecture Model (EAM); the Data Flow Diagram in BPM; and the Use Case Diagram in the Object Oriented Model (OOM) to model the business layer.

We have selected two typical diagrams to illustrate this layer: the city planning diagram and the business communication diagram.

City Planning Diagram
A city planning diagram allows you to focus on the big picture of enterprise architecture by using the metaphor of planning the infrastructure of a city.

In Figure 2, the core system is broken up into five major subsystems, which are in turn subdivided into their major functions. Major applications like CRM App and some databases are also highlighted. These high-level systems and applications can be separated and mapped to some concrete services, applications, or components.

Business Communication Diagram
A business communication diagram can be used to analyze and display the relationships, flow, and other connections between business elements.

Figure 3 provides an example. Communications between the company, customers and suppliers are analyzed, as well as those between the different company sites.

Information Layer
The Information Layer is responsible for data and information modeling, such as the modeling of data used by business processes or entities, and tables, views and procedures in physical databases. Its objective is to identify the data used by processes and applications and to identify the relationships between them.

In PowerDesigner 15, the user can use a Conceptual Data Model (CDM), a Logic Data Model (LDM), a Physical Data Model (PDM), a Class Diagram (OOM), and an XML Model (XSM) to do the information layer design and development. They are all in the classic functionality category of PowerDesigner.

Application Layer
The Application Layer allows you to model the architecture of your systems in order to identify your applications and their main components, and to analyze their interactions and how they implement business processes and functions

In addition to the classic Behavioral Diagram in OOM and Business Process Executable Model, we provide some new diagrams for application layer support, for example, the Service Diagram in EAM.

The Service Diagram is a service-oriented diagram that allows you to associate applications and other application layer objects with business services and processes to assist with SOA design. It contains not only application layer concepts, but also those of other layers, such as business processes and business services for the business layer (see Figure 6).

Technology Infrastructure Layer
The Technology Layer focuses on technology modeling, which can be used to identify the application, data, service, and network topology structure.

PowerDesigner 15 provides the Technology Infrastructure Diagram in EAM and the Deployment Diagram in OOM to support technology layer modeling.

The Technology Infrastructure Diagram is a new diagram in PowerDesigner 15. It displays a high-level picture of the physical architecture deployed in the enterprise. It associates applications and components with software and hardware elements.

In Figure 4, the deployment of servers within the company network is shown, along with the web access afforded to thin clients.

Layer Collaboration
Each of the four layers presents the enterprise architecture from a certain point of view. They communicate with and support each other through service interfaces. They respectively take such roles as business specialist and demand proposer (Business Layer), information provider (Information Layer), function provider and executors (Application Layer), and physical equipment provider (Technology Layer).

EA Methodology and Frameworks
Enterprise Architecture methodology provides a quality and repeatable process and steps for developing enterprise architecture. This helps enterprises adapt to market changes agilely.

All the steps in the example can be performed repeatedly according to the user demands and phases. This is based on and well supported by the EA frameworks, which provide a logical structure to make the relative modeling elements easy to create and link. EA frameworks describe baseline architecture and target architecture each time they perform the sequencing plan.

PowerDesigner 15 supports enterprise architecture frameworks completely. It represents the framework with a friendly framework matrix. Furthermore, it can be easily customized. Figure 5 is an example of a popular EA framework - FEAF. You can link models and other types of documents into the matrix from your point of view.

SOEA Modeling Example
We use an order management system as an example. As shown in Figure 6, Open Account and Order-to-cash business processes are already related to business services, application services, and the objects implementing them, while the Verify Customer process of the CRM system is still relying on low-level components. These components are subject to change compared to services. To make the system more stable and flexible, we will convert the component-oriented CRM system to also be service oriented.

Figure 7 shows the best practice workflow. It's just a typical example and is not the only way. As it is relatively well known, we skipped the information layer here.

Create a Service
To begin the changes, we introduce a new Business Service -CRM Business Service. It can include some operations such as VerifyCustomer.

Link to Design
The new business service can be exported to BPM as a service provider - CRM Service Provider. The operations of the service will also be exported at the same time together with its input and output. This compensates for the fact the EA is not able reach down to the design domain, and also links business goals with process modeling.

The service provider will automatically have the service interface CRM Business Service created with the VerifyCustomer operation. The user can customize the objects at will.

After that, you can specify the process VerifyCustomer to be implemented by the CRM Service Provider. This can be a bridge to an implementation domain.

Go Down to the Implementation
Furthermore, it can go downward to a detailed implementation. The service provider can be exported and linked with a component in OOM. The component automatically contains the interface and implementation class, realizing the CRM functionalities (see Figure 8). Then the user can define the real implementation here. The gap between the BPM and implementation domain is overstepped.

Encapsulate with a Service
With the concept of SOA, the component can be encapsulated by a service. We can import the component as an application service CRM Application Service to EAM together with its operations.

Then all the business goals are implemented by services including the VerifyCustomer process.

Deploy
We can select a target device such as a PDA in Thin Clients to deploy our service. You can do this by creating a deployment instance of the CRM Application Service manually or just dragging and dropping the service into the PDA device (see Figure 9).

Now we have almost completed the transformation from a component-oriented structure to a service-oriented structure with a few steps. It links the business to process modeling, reaches down to the implementation, and comes out with a detailed encapsulating service.

Lineage and Impact Analysis
Before applying changes to the real system, you can see the possible impact first. Figure 10 shows the lineage and impact analysis result of changing the new CRM Application Service. All the relevant objects are tracked and identified in this diagram. This helps decision makers and analysts get the right determination and result.

Conclusion
PowerDesigner 15.0 provides complete support for SOEA, which helps to align business and IT, and to make full use of existing IT assets. Encapsulated by services, existing applications are easier to reorganize and reuse. Then enterprises can establish new systems quicker and be better able to obtain competitive advantages.

References

More Stories By Qiu-xia Zhang

Qiu-xia Zhang is a software engineer in PowerDesigner Shanghai team at Sybase Corporation. She participates in development and test of some O/R mapping framework support including Hibernate, NHibernate, and ADO.Net Compact Framework, etc., for mobile application support.

More Stories By Xiao-guang Zhang

Xiao-guang Zhang is staff software engineer and team leader of the PowerDesigner Shanghai team at Sybase Corporation. His research interests include Workflow-based Business Process Management, Enterprise Modeling, SOA, Metadata management and Software Engineering. He received his PhD in computer science from Shanghai Jiaotong University, P.R.C.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.