Masykur Marhendra

Masykur Marhendra


Masykur Marhendra Sukmanegara graduated from Bandung Institute of Technology. He took Informatics Engineering with summa cumlaude predicate and placed first on Global Warming Solution Technology from Environmental Ministerial Department. Starting his career as a junior telecommunication developer on Switchlab, he implemented MSC encoding/decoding modules based on 3GPP standard specifications. After the project was done, he then took part of Javan IT Services consultancy as a J2EE Engineer working on various Web applications and mobile application implementing in various industries. His career as a J2EE Engineer then continued in XL Axiata, a 2nd telecommunication provider in Indonesia, working on south and north application, integrating various telecommunication sub systems with Java technology such as IBM Netcool, SMSC, SMS Gateway, and others. In 2010, he was appointed to handle first SOA implementation in XL Axiata for Billing domain as a pilot project. Designing and architecting a SOA platform, delivering the service-oriented porting development from satellite applications, ensuring the service-oriented principles were being followed, maintaining SOA capacity, putting the baseline for next architecture, development, and monitoring the process.


rss  subscribe to this author


Social Service-Orientation:
Empowering Social Collaboration with SOA-Based System Published: January 14, 2013 • Service Technology Magazine Issue LXIX PDF

Abstract - Social media has become a popular topic in current times. People have shifted the way in which they are connected to each other, from direct interaction to virtual communication. Web technology has evolved and transformed into a social Web, which enables people to collaborate in the virtual space. Building a social Web is not as simple as developing and choosing appropriate programming languages to implement. High volumes of people interacting through virtual social space drove the social Web to adopting the capabilities to give realtime experiences, efficient collaboration, and consistently reliable services. Conversely, data keeps increasing to form loads of data that can impact the performance of the social Web itself in retrieving, storing, and deleting information.

Designing robust social Web architecture that has its own service level agreement is major and critical. Web technology commonly has two separate layers, which are frontend tiers (presentation layer) and backend tiers (processing layer). Frontend tiers are used to build and present the information into an adaptable format for touch point access. The backend tiers or processing layers are responsible for processing business logic, including retrieving, storing, deleting, and composing data into structured raw information to the frontend tiers. Both layers commonly use the same processing engine platform or language.

Social collaboration trends and technology are discussed in the first section of the article. The following sections will discuss technical details on how to customize frontend tiers to be adaptable to the hybrid backend tiers. The fusing of a service-oriented, architecture-based system platform as part of the processing engine is also examined, as it empowers the social Web portal to provide realtime experiences as well as efficient data distribution.

Social Collaboration Trends and Technology

Social Collaboration Behavior

In traditional social collaboration, people communicate through direct interaction, physical media, or telecom-based services. Communication provided by telecom-based services evolved to provide alternatives for communication. Short-message-service was the best and most affordable channel to communicate rapidly and efficiently.

Nowadays, Web technology has been developed for sharing both static and dynamic information, to be used by people for retrieving and collecting information, news, videos, and so on. The growth of Web technology has enriched the capabilities to have collaboration features and user experience as well, which is commonly known as the social Web. Social Web had affected the way in which people perform their day-to-day activities. People can easily and instantly communicate and retrieve information updates from all available online media. Instead of sending text messages through SMS, using chat messenger, email, and social media is preferred. The ease and speed of data interchange through online media has shifted people’s preference from direct interaction to virtual interaction.


Figure 1 – The granularity of social media.

Facebook keeps evolving and transforming their user experience, as well as the social functions they offer along with the increasing number of users. Friendster was a social Web that has become obsolete, since they could not improve their base and unique functionality according to the development of social trends. Another example is Twitter, whose capabilities were a subset of Facebook, which only provided social status updating, photo sharing, and private messaging, among others. These various social media communities give different user experiences on how social activities can be performed in virtual space, in an efficient, fast, and near realtime manner. Their functions have been adopted by many other social networks as their complement capabilities.

Social online media itself can be specified into several types:


Figure 2 – The projected growth in social network users worldwide.

  1. Social Network - This social medium was built to enable people to share their daily activities including photos, social statuses, music, videos, and other media format in the virtual space. Social networks also enable people to connect to each other, whether for business or just to widen their friend circle. People also use this medium to discover and search current events to stay updated. This trend means that social networks will continue to play an increasingly important part in many people’s lives. EMarketer predicts that there will be 1.4 billion social network users in 2012, representing a 19.2 percent increase over 2011.
  2. Social Communities - Through the evolution of current Web technologies, social communities can be built in virtual space to eliminate all of the constraints that limited traditional communities that use direct interaction. Virtual communities are able to provide near realtime communication through multiple types of communication channels, such as video calling, voice calling, and text chat.


    Figure 3 - Modern social communities can be connected through virtual space without boundary.

  3. News and Shop - Traditionally, news were spread out and published in hard-copy media formats, such as newspapers and magazines. Publishers gather and compile all of the current local events for the editing process. Afterwards, the news is sent to the production site, printed and distributed to all agents. The process of the modern newspaper, or e-news, resembles that of the hard-copy as both involve information gathering, an editing process, and content on-boarding in production step. The difference is that e-news do not have a distribution process since they are publicly accessed through the virtual space environment. Anyone that wants to obtain any particular information or news can just search for and browse from a news portal’s URL. The advantages of public-centralized access are that people can access anytime and anywhere to retrieve information, as long as they are connected to the Internet.

    These advantages have trigger shops to revolutionize their business model. At the beginning, stores wait for customers to come to visit and buy their products. As technologies evolved and news portals were developed, stores utilize this touch point as an option so that people can purchase goods through an online shopping portal. Some technologies already support online transactions, while others still use old-fashioned transactions like cash and manual transferring.

Web 2.0 – Enabling Social Collaboration in a Cloudy Virtual Space

User experience is one of the main parts that play a role in social Web visitor stickiness. A compelling interface is mandatory and requires organizing components appropriately in order to provide ease of use and access. Initially, the social Web could only be accessed through the desktop Web browser application as the main touch point. Providers only adapted their social Web to desktop resolution and Web browser.


Figure 4 – A Web architecture stack.

Presentation Tier : Delivering adaptable and compelling user experience to the touch point access (User Experience Accelerator)

As telecommunications evolve and technology develops, mobile devices become an alternative touch point for accessing the social Web in virtual spaces. Introduction of mobile devices directly limit the capabilities and user experiences of the social Web. Adopting particular device resolutions and technologies became a challenge to many social Web providers, both for user experiences and features. Most Web frameworks have developed their own user experience accelerator, which commonly has a set of style-sheet dictionaries for laying out Web components into the appropriate scale, dimension, and quality according to the user touch point constraints. However, it only maintains ease of access, not level of user experience.

Mobile devices and desktop-based applications have different user experiences. Realtime experiences such as live chat and video chat are only available on the desktop-based applications and certain mobile devices with higher capabilities.


Figure 5 - A basic user interface layout that supports an adaptable and compelling user experience.

Figure 5 depicts a common basic layout of Web components. The simplicity of the layout enables adaptability to various kinds of resolution rendering. The layout of the components is configured by set of style-sheet codes, which commonly defines width, height, text color, background, and other properties.

Adaptability is the choosing of the most fitting style-sheet in accordance with the resolution of the user touch point. The user experience accelerator recognizes the resolution of the touch point by decoding and categorizing the User Agent that is embedded in the HTTP Header request into the appropriate size type. It then embeds the appropriate style-sheet into each page that is requested by the user. In content adaptability, the User Experience Accelerator compresses the Web IT resources into the appropriate format by referring to the User-Agent that was previously identified, as well as the internal content dictionary. We cannot serve *.mp3 sound resources to the touch point which cannot play that format. Another example is that high resolution images cannot be displayed on 2G devices, which have limitations in certain resolutions.

Business Tier: Transforming and processing unstructured data into informational content

A compelling and adaptable user experience is inadequate without value-added informational content embedded. Research reveals that a primary reason why people tend to visit Web pages is for informational content. Delivering the right content to the right market is difficult, even when search engines are available. Social Web providers need to perform segmentation of content, since a single social Web that contains full-mass content is risky. However, finding the right segmented content is not enough if not delivered in structured and understandable format to be easily absorbed and consumed. The social Web has unstructured data format in its repository. In social network cases, like Facebook, Twitter, and Google+, some of the data comes from the users that interact with the system, while the rest of the data comes from advertising that also needs managing.

Incoming data traffic flows are depicted in Figure 6:


Figure 6 – The flow of HTTP request processing.

  1. Users submit the unstructured data based on the input form that is presented by the Service Layer in the Presentation Tier.
  2. The Data Transporter component transmits the unstructured data to the Business Logic Processing in the Business Tier for further processing. This is the area where the business model is implemented. Particular rules are applied according to user input, user profile, density, trends, and analytics.
  3. Before the data arrives at the Data Transporter component, the Request Interceptor intercepts the HTTP request to appropriately enrich, filter, and correlate the unstructured data, such as the timestamp, source IP address, and geographical location. It also communicates with the State Management to check whether the input is valid and the user is in a state eligible to submit the data. If the user is not eligible, the Request Interceptor sends a command to the Service Page Dispatcher to direct the user to the relevant page.

After raw unstructured data is formulized, the Business Logic Processing issues a command with a related processing result code to the Service Page Dispatcher. This component builds the HTTP wrap message response, and routes the response to the specific page, which can be either the current state page or main landing page. The HTTP response that is produced by the Service Page Dispatcher is personalized based on the user profile and geographical location. The internalization process occurs if the user specifically configures the language automatic detection.

Data Model Tier : Data Management Engine

The third layer is the Data Model Tier , which is essential in every Web portal. This layer models the real-world entities as persistent business-entities that can eventually be stored, updated, and retrieved. Many dissimilar persistent technologies that are developed can be used as options in building the social Web. The Data Model Tier should not be tightly coupled with only certain technologies, since it needs to provide Web builder/developer flexibility in choosing persistent technology that does not require much customization.


Figure 7 – The Data Model Tier.

Figure 7 depicts an architecture stack of Data Model Tier, which offers flexible benefits in various types of persistent technology integration.

  1. Business Entities is the top component that formulizes all entities as contextual attributable non-persistent objects. These objects are in an informational structural format as a result of raw, unstructured-data aggregation retrieved from the persistent storage.
  2. Persistent State Management role is to maintain the connection session to the persistent storage, and also provides pooling management to serve any persistent operation command issued by the other layer or component. Auto reconnection is a major point in this component, as it can indirectly impact user experience whenever there is stall-connection or intermittent occurred.
  3. Data Connection Driver is a collection of persistent technology libraries that are loaded simultaneously whenever the social Web starts. This module load the libraries based on the configuration provided by the social Web administrator.
  4. Data Connection Dictionary is a collection of grammars used to translate the high-level persistent operation command into specific persistent technology language. Abstraction of the language decouples persistent technology with the business logic implemented, and therefore provides flexibility in the deployment and replication of different persistent storages without any persistent command porting in the business logic. This module also specifies connection string dictionaries used by persistent technology.
  5. Entities Virtualization Dictionary is the dictionary mapping of unstructured data in persistent storage with the representational persistent object. Mapping will be specified until very atomic attributes of the unstructured data as well as the relationship and constraints of the persistent object.

Social Service-Orientation

A common problem faced by the social Web is realtime user experience. In the virtual social collaboration environment, users are highly engaged with the interface and demanding in terms of information retrieval speed. Environment providers are eager to provide the best realtime user experience in order to secure more of the market. A common technique that is used to achieve near-realtime experience is the pooling method, which requests data at specific time frequencies and updates the interface accordingly. The level of realtime satisfaction depends on how the time frequency configured.

Industries such as the banking, telecom, purchasing sectors require the ability to handle critical realtime transactions, especially industries implementing the Service-Orientation based system, or ESB. The SOA-based system becomes a critical node for these industries, since it is integrated with all of the surrounding applications.

Service Orientation-Based System: Enterprise Service Bus and Messaging Bus

The SOA-based system is based on an intermediary high-performance bus, which is implemented as a virtual bus that uses IT resources (processor, memory, storage, and network) as object codes to hold massive amounts of data or applications. The bus can be differentiated into two types, Enterprise Service Bus (ESB) and ( Messaging Bus ), based on core functionality.

The Enterprise Service Bus is the surrounding bus that purposely serves the Service Consumer. The ESB abstracts the end point integration protocol used by the Service Provider into uniform integration protocols, such as Web services. Uniform integration protocols that are exposed by the ESB can be specifically built for a particular system that has limitations on protocol supports. For example, the USSD Menu Brower (UMB) can only use HTTP protocol for the integration point. In telecom industries, UMB is one of the main touch points for subscribers to perform transactions. Consequently, as mediation platform, ESB should be able to address protocol limitation supported by the UMB in order to able integrated.

Services deployed within the ESB can be both atomic services and composite services. Atomic services are built based on most of the functions that are exposed by the Service Provider, such as getting subscriber numbers, adding offers, and inquiring on remaining balances. Composite services are purposely built to package particular business functions to be reusable and fulfill business requirements. Composite services that are commonly built in multiple granularities depend on the business model to be implemented.


Figure 8 – The communication matrix of a SOA-based system.

Figure 8 illustrates an overview of the SOA-based system Communication Matrix. Service Consumer and Service Provider nodes are respectively located northbound and southbound of the ESB. Different protocols that are used by each Service Provider are abstracted by the ESB into a single uniform integration protocol, or Web service, with a particular service contract.

The ESB contains a high number of services that can be connected to each other. In regards to performance and QoS, these Enterprise Services utilize the Messaging Bus to communicate and exchange service messages. The primary objective of using this Bus is to throttle, queue, broadcast, and route high volumes of service messages. The Messaging Bus can queue these messages in either the persistent storage or in-memory storage. In-memory storage is the best option when high performance and less revenue are the main attributes, whereas persistent storage is the best option if transactions involve higher revenues and business impacts.

Typical methods for message service communication patterns that are used by the Messaging Bus is request-reply and publish-subscribe. Request-reply is a demand-driven communication, which only runs if a request comes to the service provider. This pattern communicates messages via Queue collection, means that messages are stored in the Queue before being consumed by the service consumer. If there are multiple service consumers listening at the same queue, the message is delivered in round-robin. However, there are a lot of algorithms developed and adjusted to improve message delivery via the Queue.


Figure 9 – A common communication pattern used by the Messaging Bus .

The second method of delivery is publish-subscribe, which uses Topic collection. This method is different from the request-reply in how this pattern is one-way direction type which is driven by the events. In this publish-subscribe communication pattern, the same message is distributed to all listening service consumers. If a message arrives at a particular Topic that is listened to by five service consumers, those five service consumers will have the same messages.

Hybrid Processing Engine: Assembling Service-Orientation with Web Framework

The communication pattern features offered by the Messaging Bus , especially publish-subscribe, provide advantages in terms of integrity, reliability, performance, and scalability. As publish-subscribe is an event-driven pattern, realtime delivery can be achieved with an extendable wide range of consistent message distribution. This pattern provides great benefits if implemented in the social Web as part of the core processing engine, in addition to the request-reply pattern.

The core processing engine of a typical social Web is laid on the Business Tier. This layer is the integration edge point for incoming requests and the processing itself. Embedding Service-Orientation components into this layer will extend and improve the value-added services of the social Web. Many other tiers defined in the typical Web Framework can also be integrated with the Service-Orientation based system for superior performance and reliability.


Figure 10 – A social Service-Orientation enabled architecture stack.

Figure 10 depicts an integration architecture stack between SOA-based systems with the typical Web Framework. As discussed in the previous section, the Web Framework consists of three main Tiers, which are Presentation Tier, Business Tier, and Data Model Tier. The Presentation Tier is purposely built for interacting with users, while the Business Tier’s role is performing associated business processing, which include enriching, filtering, aggregating and so forth. Lastly, Data Tier is a layer for communicating with persistent storage. All of these tiers are connected directly through native processing commands.

SOA-based systems consist of four major services groups, which are as follows:

  1. Infrastructure Services – Group of services that are purposely built for handling any incoming and outgoing communications with the frontend channel. In this context, the frontend channel is the Presentation Tier of the Web Framework. Internally, Infrastructure Services also communicate with Business Services through either Web services or the Messaging Bus .
  2. Business Services – Most of the service orchestration done in this service group is the core business logic implementation. Business Services is the intermediate critical service group with the most communication channels to the Business Tier, Infrastructure Services, and Utility Services.
  3. Utility Services – The complementary services used for any non-core operation of the business model such as logging, data loading, and data storage. This service group assists the Data Tier in persistent operations, including logging, tracking, and monitoring.
  4. API Services – This service group is intended to externally expose social Web capabilities, most of which are the business logic functions within the Business Tier.

By introducing an SOA-based system to the architecture, the request/response communication flow becomes slightly different. At the initial state, the Messaging Bus does not contain any Topic defined, except the predefined Queue for services internal communication. When a user logs in or is identified as online, Business Logic Processing will issue a command to the Utility Services in the SOA-based system to create a temporary Topic with an identity that is the same as the logged-in user ID. The services will concurrently issue a command to the respective Business Services to subscribe to the newly created temporary Topic. In this state, the user’s input interaction has been observed by the SOA-based system. As a result, other users that have collaborated will be able to be notified on each update from this user.

Figure 10 depicts the communication flow in the social service-orientation system with the initial setup previously mentioned.

The communication flow process can be described as follows:

  1. No changes
  2. No changes
  3. No changes

4 - 6 Business Logic Processing invoke two services in Business Services and Utility Services to provide updates on any changes that occurred in relation to particular user IDs and persistent attributes.


Figure 11 – A social Service-Orientation communication flow.

In parallel, the Business Logic Processing also issues a command with a related processing result code to the Service Page Dispatcher.

  1. Afterwards, Business Services issue a service message to the related active temporary Topic, which was set up at the initial state. Listed Topics are based on the user ID collaboration connection that is informed by the Business Logic Processing in service request.
  2. Infrastructure Services consume and decode the message issued by the Business Service, which is already in enriched structured format. Message transformation is required, since the data format used by the Presentation Tier and SOA-based system is different. The transformed message will then be routed to the Layout Locator within the Presentation Tier and decoded accordingly for further processing.
  3. Layout Locator broadcasts associated messages to all users that have a collaboration connection and updates the user interface accordingly. Updating global user interfaces is challenging. The social Web needs to ensure that the user agent has successfully downloaded and is running whenever users want to access the social Web. The Layout Locator and the user interface communicate through a custom protocol over TCP/IP.


People seek realtime user experiences in their virtual social Web, which has evolved to provide a comparable virtual experience even if some technologies supported on specific touch points can impact the realtime of user experiences. The SOA-based system that is typically used in realtime transactions can support the social Web in integrity, reliability, performance, and realtime. However, complex integration and implementation need to be addressed for successful assembly.