Welcome!

Machine Learning Authors: Yeshim Deniz, Zakia Bouachraoui, Roger Strukhoff, Pat Romanski, Liz McMillan

Related Topics: Machine Learning , Microservices Expo

Machine Learning : Article

Resolving RIA-SOA Conflict

RIA-SOA Collaboration Pattern

From the first days of Rich Internet Application (RIA) technology, many enthusiasts found an analogy between RIA and service-oriented architecture (SOA). Some of them talked about the benefits of a would-be-wonderful use of SOA in RIA; others saw RIA as a SOA face. Nonetheless, there are experts who see a discrepancy between RIA and SOA concepts.

The major disagreement between RIA and SOA is in the fine-grained operations in RIA and the coarse-grained type of interfaces of SOA business services. Let's take a closer look at this problem.

In a glance we can see that the RIA spectrum is wide. It includes applications with interfaces for information reporting, modifying predefined business data, collecting and inserting new data into the systems, fast and frequent exchange of information in social/community-oriented Internet applications, and setting commands in the processing systems. Depending on the task, RIA might require a frequent and fine-grained information exchange between an RIA client, such as a browser and a RIA application that is deployed on the server. At the same time, the RIA client can perform relatively coarse-grained interactions, e.g., display Web content of large size. In all cases, we can assuredly say that RIA emphasizes the user interface (UI), which means that RIA has to meet UI requirements such as:

  • Human comprehensive information exchange
  • Information representation/report
  • User operational tooling for the systems
  • User experience requirements

At the same time, the "application" part of RIA remains foggy. This creates an impression that the "application" part exists either to serve the interface, which is a bit strange (interface to what?) or the "application" part is the interface itself and somebody else has to provide for support of the end-user operations in the interface.

We also know that SOA business services represent business model services, business functions, business features, and business processes. All these entities operate on smaller or larger sets of business data. Business services implement business logic and provide access to business functionality and resources and result in real-world effects (RWE). Thus, SOA business services are supposed to meet business functionality requirements comprising:

  • Business logic
  • Business resources
  • Business data processing

To meet these requirements, business services have to provide relatively coarse-grained interfaces. Moreover, to minimize difficulties caused by change management support and simultaneously allow for reuse, the service interfaces have to become a kind of pipeline, which only strengthens the coarse granularity.

Thus, RIA and SOA business services have two major discrepancies - approach to the granularity and no shared requirements. This means that "would-be-wonderful use of SOA in RIA" requires proof.

Figure 1 illustrates a scenario in which RIA screen widget events originate RIA requests. Depending on the application, they may be more or less fine-grained. If such requests directly contact the points of invocation of SOA business services (service clients), then two inefficiencies happen:

  • Business service interfaces and returned data get unutilized, reducing the power and defeating the purpose of the SOA business services
  • Business services have to be called much more frequently than they could be with adequate interface usage; this also overwhelms communication channels/network

More Stories By Michael Poulin

Michael Poulin works as an enterprise-level solution architect in the financial industry in the UK. He is a Sun Certified Architect for Java Technology, certified TOGAF Practitioner, and Licensed ZapThink SOA Architect. Michael specializes in distributed computing, SOA, and application security.

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.


CloudEXPO Stories
This month @nodexl announced that ServerlessSUMMIT & DevOpsSUMMIT own the world's top three most influential Kubernetes domains which are more influential than LinkedIn, Twitter, YouTube, Medium, Infoworld and Microsoft combined. NodeXL is a template for Microsoft® Excel® (2007, 2010, 2013 and 2016) on Windows (XP, Vista, 7, 8, 10) that lets you enter a network edge list into a workbook, click a button, see a network graph, and get a detailed summary report, all in the familiar environment of the Excel® spreadsheet application. A collection of network maps and reports created with NodeXL can be seen in the NodeXL Graph Gallery, an archive of data sets uploaded by the NodeXL user community.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throughout enterprises of all sizes.
Technology has changed tremendously in the last 20 years. From onion architectures to APIs to microservices to cloud and containers, the technology artifacts shipped by teams has changed. And that's not all - roles have changed too. Functional silos have been replaced by cross-functional teams, the skill sets people need to have has been redefined and the tools and approaches for how software is developed and delivered has transformed. When we move from highly defined rigid roles and systems to more fluid ones, we gain agility at the cost of control. But where do we want to keep control? How do we take advantage of all these new changes without losing the ability to efficiently develop and ship great software? And how should program and project managers adapt?
Because Linkerd is a transparent proxy that runs alongside your application, there are no code changes required. It even comes with Prometheus to store the metrics for you and pre-built Grafana dashboards to show exactly what is important for your services - success rate, latency, and throughput. In this session, we'll explain what Linkerd provides for you, demo the installation of Linkerd on Kubernetes and debug a real world problem. We will also dig into what functionality you can build on top of the tools provided by Linkerd such as alerting and autoscaling.
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.