Building a Government Services Oriented Architecture

Registration is free. Login or register to view/download this content.

Author(s)

Business Relationship Manager - Product Lifecycle Management, Chevron Corporation

Governments provide services, right? So why not provide them via a Services Oriented Architecture (SOA)?

Does that question actually make sense? Governments provide services like trash collection, street repairs, public safety, etc. These kind of physical services are not going to be handled by any advanced computer network, or at least none that we can imagine today.

But wait a minute. Governments also provide informational services. Is this car title valid? Does this driver’s license belong to the person in front of me?

And not just inquiries. In principle, residents could pay their taxes, renew their business license, or indeed perform over the internet just about any interaction with any level of government that does not require their physical presence.

And not just residents. Businesses, sibling agencies, and other levels of government from national to local could conduct whatever business they need over the internet. Anyone who interacts with a service in this manner is said to “consume” that service.

So, when we talk about providing government services or intergovernmental data exchanges via the internet, is that an SOA? Well it could be, but not necessarily. Many government computer systems provide public informational or transactional services today, but not many of them may be provided as part of an SOA. A browser does not indicate that an application is services oriented.

SOA Defined

When we talk about a Services Oriented Architecture, we are actually talking about several things:

  • The actual business service being provided which is visible to the consumer of the service on his or her computer; this is also sometimes referred to as a “composite service” or a “coarse-grained service.” This means that, in addition to the program logic within the service definition, the composite service may consume other, finer grained, supporting services.
  • Supporting services provided by computer systems which are not normally visible to the final consumer, but which form part of the composite service; although finer grained than the composite service, these supporting services may themselves be composed of their own program logic, still finer grained composite services, and atomic services.
  • Atomic services provided by computer systems which are at the finest level of granularity, and do not consume any other services. These services consist solely of their own program logic, though they may use databases, message transports and other components of the computer system.
  • The method by which services encode data for the consumer of the service, and to pass to and from other services. This is almost always be in some form of XML.
  • The method by which services actually pass that encoded data to and from the consumer and to and from supporting services.
  • The dictionary which defines the precise meaning of each data element passed between services. Creating and maintaining this dictionary is one of the most difficult aspects of building an SOA, because very often people don’t realize that they mean slightly different things when they use a word.
  • The repository of all of the definitions of the services, so that anyone who wish to consume a service can discover what services are available, what data has to be passed to the service, and what data will be returned.

So, if we have all of these things, then we have deployed our services in a Services Oriented Architecture. This is a new way of thinking about how to organize computer systems. For the first time, there is a universal way for all computers to talk to each other. That is, an SOA provides universal accessibility to any and all services, so that anyone who adheres to the rules of an SOA can provide or consume services to or from any other SOA. This has never been true before between dissimilar types of computers, or at least without great difficult and expense.

This is also true regardless of the type of computer system employed. It can be a multi-million dollar mainframe, or a large Unix server, or an Intel server running Windows or Linux, or it could be your own personal workstation, laptop or cell phone. Or it could, in principle, be your car or your refrigerator, though in practice that’s still a ways off.

What may not be obvious is that once we have built up a library of atomic and supporting services, new applications become much easier and quicker (and cheaper) to snap together. For over 30 years, we have sought the Holy Grail of re-usability. In SOA, we can finally deliver on that elusive promise.

So What About Legacy Systems?

Of course, so long as we are talking about new computer systems, it is reasonably easy to understand that they could be built with a services architecture. But what about the existing computers? We have millions of dollars invested in the software that runs them. We can’t afford to just throw it all away and rebuild everything. Even if we had the money, it would take many, many years to do so and – particularly – it would take even more years to get it done correctly.

Well, the good news is that most legacy systems were constructed with an architecture based on sending and receiving messages. That’s the hard part. If the application already understands the exchanging of messages that goes along with providing and consuming services, then it is pretty easy to modify the application to understand the XML that will be exchanged, and to use one of the universal data exchange protocols such as HTTP, the basic method of data exchange over the internet.

Or, if you don’t want to modify the application, there is a new generation of tools to retrofit mainframe or server based applications easily and simply. If you have workstation based application systems that interact with a single user and without a browser, then you do have a problem. But these can be opened up reasonably easily, just not as easily as the mainframe or server applications.

Where Does BPM Fit Into an SOA?

Of course, when we build a new application from scratch on a BPM platform, it is pretty easy to consume any existing services. In fact, one point of view says to develop new applications solely as atomic services, and then use BPM to glue those fine grained services together into composite services that offer real business value.

The slightly tricky problem is to define a BPM workflow in such a way that it can be a supporting or atomic service as well as a composite service. However, with a little thought at the beginning of the project, BPM based transactions can provide as well as consume services via an SOA.

Summary

If we start to think of a computer system as a collection of services, some composite, some, supporting, and still others atomic, then we have come a long way from thinking about programs, subroutines, TP monitors, databases, and the whole menagerie of strange critters that live inside each computer system. If we implement or retrofit our programs on this services model and deploy the SOA supporting infrastructure, then we can gain a dramatic increase in business process (and therefore personnel) productivity.

Similar Resources

Featured Certificate: BPM Specialist

Everyone starts here.

You're looking for a way to improve your process improvement skills, but you're not sure where to start.

Earning your Business Process Management Specialist (BPMS) Certificate will give you the competitive advantage you need in today's world. Our courses help you deliver faster and makes projects easier.

Your skills will include building hierarchical process models, using tools to analyze and assess process performance, defining critical process metrics, using best practice principles to redesign processes, developing process improvement project plans, building a center of excellence, and establishing process governance.

The BPMS Certificate is the perfect way to show employers that you are serious about business process management. With in-depth knowledge of process improvement and management, you'll be able to take your business career to the next level.

Learn more about the BPM Specialist Certificate

Courses

  •  

 

Certificates

  • Business Process Management Specialist
  • Earning your Business Process Management Specialist (BPMS) Certificate will provide you with a distinct competitive advantage in today’s rapidly evolving business landscape. With in-depth knowledge of process improvement and management, you’ll be able to take your business career to the next level.
  • BPM Professional Certificate
    Business Process Management Professional
  • Earning your Business Process Management Professional (BPMP) Certificate will elevate your expertise and professional standing in the field of business process management. Our BPMP Certificate is a tangible symbol of your achievement, demonstrating your in-depth knowledge of process improvement and management.

Certification

BPM Certification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Process Management Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Operational Excellence Specialist
  • Earning your Operational Excellence Specialist Certificate will provide you with a distinct advantage in driving organizational excellence and achieving sustainable improvements in performance.
 

 

OpEx Professional Certificate

  • Operational Excellence Professional
  • Earn your Operational Excellence Professional Certificate and gain a competitive edge in driving organizational excellence and achieving sustainable improvements in performance.

Courses

Certificate
  •  

  • Agile BPM Specialist
  • Earn your Agile BPM Specialist Certificate and gain a competitive edge in driving business process management (BPM) with agile methodologies. You’ll gain a strong understanding of how to apply agile principles and concepts to business process management initiatives.  
 

Business Architecture

 

Certificates

  • Business Architecture Specialist
  • The Business Architecture Specialist (BAIS) Certificate is proof that you’ve begun your business architecture journey by committing to the industry’s most meaningful and credible business architecture training program.

  • Business Architecture Professional
  • When you earn your Business Architecture Professional (BAIP) Certificate, you will be able to design and implement a governance structure for your organization, develop and optimize business processes, and manage business information effectively.

BA CertificationCertification

  • Make the most of your hard-earned skills. Earn the respect of your peers and superiors with Business Architecture Certification from the industry's top BPM educational organization.

Courses

 

Certificates

  • Digital Transformation Specialist
  • Earning your Digital Transformation Specialist Certificate will provide you with a distinct advantage in today’s rapidly evolving business landscape. 
 

 

  • Digital Transformation Professional
  • The Digital Transformation Professional Certificate is the first program in the industry to cover all the key pillars of Digital Transformation holistically with practical recommendations and exercises.

Courses

Certificate

  • Agile Business Analysis Specialist
  • Earning your Agile Business Analysis Specialist Certificate will provide you with a distinct advantage in the world of agile software development.

Courses

Certificate
  • DAS Certificate
  • Decision Automation Specialist
  • Earning your Decision Automation Certificate will empower you to excel in the dynamic field of automated decision-making, where data-driven insights are pivotal to driving business innovation and efficiency.