Internet of Things, Smart Cities and API Security

Mamoon Yunus

Subscribe to Mamoon Yunus: eMailAlertsEmail Alerts
Get Mamoon Yunus: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: XML Magazine, SOA Best Practices Digest, Cloud Expo on Ulitzer, Cloud Hosting & Service Providers Journal, Cloud Security Journal , Microservices Journal

Cloud Hosting: Article

Federated SOA: A Pre-Requisite for Enterprise Cloud Computing

Without Federated SOA, enterprise-class cloud computing will lack mass adoption

According to Massimo Pezzini, VP and Gartner Fellow, "Federated SOA is a systematic approach to large-scale, enterprise wide SOA that enables organizations to integrate semi-independent SOA initiatives.

Often used to fix an initial lack of coordination, federated SOA should be proactively pursued from the inception of major, strategic SOA initiatives." -- Divide and Conquer: Taming Complexity Through Federated SOA.

Successful enterprise SOA implementations build on a set of localized, project-level efforts with services that have clearly identified and accountable business and technology owners.

Ownerships defines a SOA Domain. SOA domains may exist within corporate boundaries or may be a set of external third-party services. Deciding what services are core to a business owner and should be implemented within her/his domain versus consumed from another SOA domain becomes a critical part of building Federated SOA.

Understanding core capabilities provided by SOA domains is a crucial task at the enterprise-level for encouraging efficiency through re-use and for keeping focus on core business services.

As SOA domains mature, key issues arise in enabling "SOA Domain Jumping," -- easily and rapidly integrating with other SOA domains. Here are the top three Federated SOA requirements that corporations must first address before embarking on a meaningful and sustained cloud computing deployment.

Pre-requisition #1: Federated Identity
Almost all SOA interactions require establishing trust between service consumers and producers via identity tokens. Such token come in a variety of formats, both protocol-based (HTTP Basic Authentication, SSL Mutual Authentication, Cookies) and message-based (SAML, WS-UserName, WS-X.509, WS-SAML). In addition to these standards-based tokens, services may require consumers to understand proprietary tokens, for example, identity attributes stuffed in HTTP header or buried within an XML element. Generating and consuming identity tokens for authentication and authorization decisions becomes a critical aspect of SOAP, XML and REST-based communication.

Implication on cloud computing: Corporations have to be prepared for consuming and generating a variety of identity tokens if they are to utilize cloud computing. All cloud computing providers (SaaS, PaaS or IaaS) require identity tokens for interaction. For example, if an enterprise decides to use Amazon EC2, it will need to manage Access Key ID for REST-based interaction with EC2 or X.509 certificates for SOAP-based interaction. Other Cloud providers such as Rackspace, OpSource and GoGrid provide similar mechanisms for identity tokens using REST. Similarly, if an enterprise decides to outsource its CRM system to Salesforce.com, Netsuite or SugarCRM, managing identiy tokens becomes the first step towards interacting with such SaaS providers. Without a tested infrastructure that deals with consuming, generating and managing a variety of identity tokens, an enterprise is not positioned to realize the promise of cloud computing.

Pre-requisite #2: Interoperability
Messages exchanged across or within SOA domains can be represented in HTML, JSON, XML, SOAP or EDI formats. A well structured message enables machine readability so that an application can extract necessary information. Consuming and generating messages readily and transforming messages across a variety of formats becomes a crucial aspect of a successful SOA deployment. The interoperability requirements are fundamentally at a message-level, both from a structural standpoint, e.g., changing a JSON REST message into a SOAP message, as well as at a semantic-level, e.g., extracting business artifacts such as purchase order information in a way that maps to the business context of the consumer application. Protocol interoperability is a second fundamental requirement for interoperability in Federated SOA. Most communication across SOA domains is over HTTP (or HTTP derivatives such as AS/2), while internally XML and SOAP messages may be exchanged with legacy mainframes using JMS or proprietary queues such as IBM MQ Series, or Tibco EMS. Interoperability between protocols is a necessary requirement for setting up a meaningful domain that has deep integration with existing business processes running on legacy mainframes.

Implicaton on cloud computing: Corporations should be prepared for parsing and understanding a variety of message types before interacting with an external cloud. Parsing XML and SOAP, understanding services exposed as WSDLs, extracting and inserting attributes in HTTP headers and managing URL mappings are all critical for enabling cloud-computing within an enterprise. Without a well test infrastructure deployed for Federated SOA, adding external SOA domains, such as a cloud provider, is prone to interoperability issues.

Pre-requisite #3: Message Hygiene
For the billions of messages of diverse formats that traverse an enterprise in a successful SOA deployment (see for example, SOA Pays off for Synovus Financials), determining whether a message made it to its designated target in the correct format and without any tampering or malicious changes is critical -- a single lost message may be one too many. Identifying unhygienic messages and quarantining such messages for further analysis is essential in sustaining smooth business operation. Fortunately, structured data such as XML and SOAP provide the ability to check for message hygiene through a variety of ways starting with the simplest check: XSD Schema Validation. A schema provides constrains for message data types, structure, and content (through facets). Enforcing schema validation or simple deep-content inspection through regular expression in a centralized manner ensures that the messages adhere to their advertised structure. Message integrity checks via XML Signatures and verification enforcement (see XML Gateways: Best Practises, Requirements and Deployment Strategies) provides an additional layer of sophistication for ensuring messages hygiene. Cloud vendors such as Amazon EC2 provide the ability to sign SOAP API calls used for provisioning and controlling virtual instance. This signature capability ensures that the messages have not been tampered with.

Implication on cloud computing: Message formats are advertised via WSDLs for most SaaS providers. Consider a classic use-case where an enterprise uses SugarCRM, the leading provider of open source customer relationship management (CRM) software, deployed in the cloud as an off-premise SaaS model. The deployment of SugarCRM is available off-premise and the subscribing corporation can readily integrate, for example, their internally hosted order capture and fullfillment systems using a SugarCRM generated WSDL (see tutorial to see interaction with SugarCRM over SOAP). Similar integration can take place using REST calls to cloud infrastructure providers such as Rackspace. All XML/SOAP request and responses need to be checked for proper strucuture through schema validation or signature checks. Simple API version changes from a provider can have a dramatic effect on a corporation's IT processes that heavily depend on cloud-based systems. Checking for message hygiene can pinpoint such issues and can serve as fundamental aspect of run-time SOA governance extended to cloud computing.

Conclusion
Cloud computing will not be properly adopted by large corporations that haven't yet figured out a Federated SOA strategy. Without Federated SOA, domains are relegated to isolated silos. How can an enterprise be expected to outsource aspects of it's core infrastructure without having the fundamentals requirements for Federated SOA: Federated Identity, Interoperability, and Message Hygiene addressed across the enterprise. Federated SOA is the pre-requiste for a successful, enterprise-class cloud strategy. Building a strong infrastructure for Federated SOA requires run-time SOA governance enforcement, monitoring and security through XML Gateways, portal and Web services Authentication and Authorization decisions via Secure Token Services and sound SOA testing across diverse message types, identity tokens and SOA security standards.

More Stories By Mamoon Yunus

Mamoon Yunus is an industry-honored CEO and visionary in Web Services-based technologies. As the founder of Forum Systems, he pioneered XML Security Gateways & Firewalls and was granted a patent for XML Gateway Appliances. He has spearheaded Forum's direction and strategy for eight generations of award-winning XML Security products. Prior to Forum Systems, Yunus was a Global Systems Engineer for webMethods (NASD: WEBM) where he developed XML-based business integration and architecture plans for Global 2000 companies such as GE, Pepsi, Siemens, and Mass Mutual. He has held various high-level executive positions at Informix (acquired by IBM) and Cambridge Technology Group.

He holds two Graduate Degrees in Engineering from MIT and a BSME from Georgia Institute of Technology. InfoWorld recognized Yunus as one of four "Up and coming CTOs to watch in 2004." He is a sought-after speaker at industry conferences such as RSA, Gartner, Web Services Edge, CSI, Network Interop, and Microsoft TechEd. Yunus has the distinction of showcasing Forum Systems' entrepreneurial leadership as a case study at the MIT Sloan School of Management. He has also been featured on CNBC as Terry Bradshaw's "Pick of the Week."

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.