Sybase Mobile Evangelist

Ian Thain

Subscribe to Ian Thain: eMailAlertsEmail Alerts
Get Ian Thain: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal, SOA & WOA Magazine

J2EE Journal: Article

Model-Driven SOA

Everything Should Start with a Model

Business rules complement model graphics with information that's not easily represented graphically. A business rule can be a customer requirement, an internal company guideline, or a government-imposed law. Business rules guide and document the creation of a model. For example, the business rule that accounts payable must reconcile an invoice with a bill of lading and original order before paying the invoice can help you graphically represent the process flow in the invoice payment process as well as assign responsibility to the accounts payable organization unit.

Some rules may specify constraints or validation rules. For example, a customer may not place an order for an amount greater than his current line of credit. A sales commission is 2% of a sales order.

Depending upon the type of business rule, they can actually become codified items such as a cardinality between entities in a data model OR a rule or trigger in database OR a calculation in a Java service.

Most business process models can be associated with a process language (see Figure 6) to generate a workflow for a specific business process and workflow (BPM) engine and most process languages will dictate the visual objects and related icons available for use in your model as well as the type of text that can be captured. The analysis process language is used mostly for business re-engineering or business documentation purposes and not to forward generate a workflow since it contains no implementation details.

If you're creating a business process model to describe the collaboration between business partners, the ebXML language lets you analyze, design, and document business-to-business exchanges (B2B).

If you're designing the decomposition and choreography of tasks at a business level when you already know which platform you're going to use to execute your processes via Web Services then you'd want to use the BPMN language.

If you're designing the process internal to an organization and you're going to generate the process on a BPM engine...BPEL or, for Sybase customers, WorkSpace.

If you are designing the orchestration of Web Services without being linked to any specific platform but want the SOA flavor then use Service Oriented Architecture (SOA) language.

Benefits & Other Models
One of the major benefits of model-driven architectures is that you can have cross-model references and create links between models. Links to a business process model establish process relationships across applications, business units, and functional areas. Links to a requirements model allows for an enterprise-wide view of how processes implement and are derived from specific requirements. Let's now look at two other models that are useful in creating links from a business process: the requirements model and the free model.

The requirements model can capture the textual description and business rules of the business. A requirements document captures the needs, requirements, expectations, and necessary functionality for the systems development lifecycle. This leads to the ability to document relationships between requirements and services and enables a capacity to do an impact analysis all the way back (or forwards) to a specific requirement of changing a service (whether the change is to security, functionality, interface, or location).

Being able to document requirements in a modeling environment enables:
• Links from the requirement to its point of implementation in a CDM, PDM, OOM, BPM, or other model type
• Bi-directional documentation of requirements and their implementation code
• Reporting a traceability matrix between the requirements and their implementation code
• Documenting users, security needs, and glossary terms

A free model (see Figure 7) is a Sybase WorkSpace diagramming tool that has the same link and synchronizing ability as other models. You can use the free model to create different graphics for your specifications, to explain the architecture deployment of your system and applications, the use-case scenario of the applications, the flowcharts, or to define your own method.

The mistake most development teams make is to assume that the systems administrators and production support folks will like their application design and code.

The free model lets you include those product folks in your designs to get any issues addressed early. Systems administrators and infrastructure support folks need to know how the application is going to be deployed so they can use this free model as the input document to their process of getting ready to move the application into production, to show the deployment of these services, and to see where applications need to be included on the infrastructure and network.

Conclusion
Everything should start with a model! Model-driven design can drive successful SOA implementations through well-documented specifications and detailed communication vehicles as well as accurate code. The ability to use change impact analysis through linking and synchronizing your models to understand the impact of services is key to a long-term, sustainable plan for your SOA-based computing systems.

Many thanks to my colleague Sheila Wood of Sybase, Inc., for contributing to the writing of this article.

More Stories By Ian Thain

As one of the Sybase Technical Evangelists, Ian regularly addresses technical audiences all over the world and his sessions are always very well attended. He also writes education classes, whitepapers, demos and articles for various Sybase products and publishes regularly in Journals such as SYS-CON's PBDJ and International Developer Magazine. He is also the Sybase Unwired Platform & PocketBuilder Evangelist and works closely with the team in Dublin, CA and Concord, MA on new features and demonstrations for the products. In his customer-facing Evangelist role, Ian is very involved with the design, production and testing of Enterprise class Unwired Solutions, that have been implemented using Sybase's Unwired tools for Sybase customers around the globe. In addition, Ian is a dedicated technical expert continually working with Sybase's key partners and clients to enhance the capabilities of the Unwired solutions that Sybase can offer to its customers. Ian can also be found on Twitter @ithain

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.