Arch2Arch Tab BEA.com

Michael Palmeter's Blog

Michael Palmeter's Homepage
Michael Palmeter is the senior product manager for the WebLogic SIP Server and comes to BEA fresh from 5 years with Ericsson Research where he was the Technical and Strategic Product Manager for Ericsson's IMS application platform.

Clouds, Federated User Profiles and IMS

Posted by mpalmete on April 23, 2008 at 12:33 PM | Permalink | Comments (0)

Most Communications Service Providers consider their customer relationships, and the specific knowledge they have of their customers, as the cornerstone of their long-term success.  Nearly every major subsystem in a Communication Service Provider’s network contains data associated with specific served users; the information that is the basis of the customer relationship permeates the network at every level.  From security credentials and usage records to personalization, account information and geographic location, useful data is scattered across the system, trapped within stove-pipe network elements, applications and numerous IT systems.  Not only is there no single, standard infrastructure for managing all of this data, there is not usually even a straightforward means of determining exactly what data exists, or where.

 

In most late-generation networks, each new subsystem has typically brought its own data model, with a tightly coupled access interfaces, storage technology and (often inconsistent) approaches to security, reliability, manage-ability and scalability.  Over the time, incremental migration to later technologies, mergers and acquisitions, addition of new applications and services and inevitable changes to governance requirements have added cost and complexity to an already costly and complex endeavor.

While modern service architectures like the IP Multimedia Subsystem (IMS) address many aspects of the “ideal IP multi-media-capable network”, significant emphasis has generally been placed on the user and access network-facing aspects of the system.  Until recently, concerns regarding session control, media transcoding, Quality of Service, charging, integration with legacy TDM networks and the standardization of a handful of re-usable “common enablers” have consumed much of the time and attention of network planners and architects. 

Without a clear focus on the importance and complexities of data management, it became common practice to tightly couple application business logic with underlying databases.  This was particularly true for infrastructure that operated in the most demanding environments, where real-time characteristics and reliability during “busy hour” were paramount.  The limitations of this approach are obvious, in retrospect, but the practice was widespread: the “essential” use cases were well-known, and had been staples of the industry for decades.  Today, the range of services and capabilities that a service provider must offer is increasing almost daily, with only one certainty remaining constant: agility is the foundation of success.

The requirements for consistently reduced time to market, reduced capital costs for new services, reduced ongoing operating costs and the need to realize maximum value from existing investments require a new approach are changing the way the problems of data management are being viewed.  It is becoming very apparent that there is a critical logical network subsystem that has generally been overlooked and, arguably, under-specified: the Data Network. More than simply a data provisioning infrastructure, the Data Network ties together all of the disparate systems containing user (or ‘subscriber’) profile, service data and other shared data and allows for a single point of integration for new Data Resources and Data Users which supports the key characteristics of reliability, scalability and real-time performance without compromising the functional and operational benefits of standard off-the-shelf technologies. 

While this has been a churning area of debate within the Telecom community for several years, what seems to be happening is a convergence of a new sort.  The notion of Software-as-a-Service and the “cloud” infrastructure that is it’s underpinning are evolving toward a set of requirements that appear to be very much like those now coming from the Communication Service Provider community.

There is consolidation happening in the OSS space around subscriber information management, from Nokia Siemens Networks’ acquisition of Apertio, to Amdocs buying JacobsRimell and other similar deals.  The User/Subscriber Profile space is being collapsed into a new, larger, set of product offerings that are becoming increasingly similar in scope: profile virtualization (federation) and integration (provisioning). 

 

From talking with customers and luminaries in the industry, I have boiled the drivers for all of this consolidation down to a few major concerns.  While there is still a lot of uncertainty about specific feature implementations and technologies, the driving requirements that are common across the majority of CSPs seem to be

 

1) presenting application instances in the compute cloud with a uniform data model and profile schema,

2) supporting massive scale (tens of terabytes of data)

3) integration with existing back-end databases (including transformation and heterogeneous queries),

4) operating characteristics (throughput, latency and deterministic behavior) and

5) SLA and security policy enforcement and 6) profile life-cycle management.

 

These concerns used to be resolved through best-of-breed components and ad hoc integration at deployment time, but there is a huge growth opportunity for a provider that can pre-integrate and deliver a "whole system".

 

In case you hadn't noticed, I have a great deal of enthusiasm for this opportunity, and I believe this is not so much about SOA as it is about WOA (so-called Web Oriented Architecture) and "cloud” computing.  I may be reaching a bit, but here is some coverage (John Markoff, ‘New York Times’) on an announcement from Microsoft that made me think a bit about how much beyond my Telco focus this paradigm could be:

 

Microsoft Reveals a Web-Based Software System

 

And just to put a finer point on it, here’s a great Blog post from Dana Gardner (on ‘Seeking Alpha’) that makes a powerful point about where data virtualization and management fits in the bigger picture of the cloud computing trend from an IT perspective.

The Gathering Clouds: Reconceptualizing Data

 



SIP Servlet 1.1

Posted by mpalmete on December 3, 2007 at 11:56 AM | Permalink | Comments (0)

The JSR 289, better known as SIP Servlet 1.1, is coming soon and it will be a very substantial update of the old JSR 116.  The SIP Servlet specification brings JEE a new protocol (Session Initiation Protocol) and is very likely to have a big impact on the ways in which rich Internet applications and enterprise SOA support real-time communications enabled applications.

Google Groups
SIP Servlet Discussions

Visit the SIP Servlets Google Group



Vision and Value: Standards-based, Web-centric Communications Service Delivery Platforms

Posted by mpalmete on October 5, 2007 at 5:16 PM | Permalink | Comments (0)

The Telecommunications industry has historically been defined by the particular technologies employed to facilitate highly reliable, globally accessible, conversational audio-centric distance communication (well, let's call it 'Telephony and physical networks' to make things simpler).  The social benefits of this conversational distance communication capability have been profound, and have lead to regulatory environments, operational practices, technology standards and business models (on the part of the access network operator) which have changed slowly relative to other comparable industries. While evolutionary change has been the norm since the earliest days of telecommunications, recent technological development and changing user behaviors are set to upend the status quo on a scale not seen since the popularization of mobile telephones in the mid 1990's.

The emergence of ubiquitous broadband Internet access, proliferation of multimedia-capable devices pervasive adoption of standard, easily implemented and widely supported mechanisms for interaction between network-connected users has lead to a disruption of the environment in which the Telecommunications industry has prospered for decades.  The capital costs of providing basic network access have fallen dramatically, and the nature of the access network technology has allowed the applications that use such networks to be almost entirely operationally decoupled from the network itself.  The notion of "Internet access" as a service, distinct from the access to applications which are delivered via that infrastructure threatens to finally destroy the de facto monopoly of incumbent Telecommunications.  The basic voice and messaging services that have virtually defined them in the minds of generations of aging consumers are no longer solely their domain.  Voice communication service providers like Broadvoice, Vonage and Ebay take full advantage of customer-provided Broadband Internet access.  These providers essentially offer client software, Service Infrastructure and connection to the Public Switched Telephone Network for cases where callees are not directly available on their private networks.

Even these providers, for the most part, are struggling However; the technology change is even more profound than many anticipated even a few short years ago.  The very concepts of "Telephony" are a legacy of a rapidly obsolescing technology, now relevant to a youth population, in the developed markets, in the same sense as the Long Play record.  Telephony services of historic importance, like call forwarding, call answer and the more recent services like short messaging are relatively trivial to emulate and operate using Internet and Next Generation telecommunications technologies like the IP Multimedia Subsystem.  So trivial, in fact, that their value is becoming negligible in isolation from the services and content that are at the heart of the World Wide Web user's experience and expectations.  The Internet, as it is experienced by a surging population of affluent, broadband connected and youthful consumers, is able to offer the real-time, person-to-person communications capabilities users require, enriched by (or often enriching) information and content sharing services combined from disparate providers.  These providers, for the most part, are already using the World Wide Web as a vehicle for exposure of their assets to business partners and end customers.  In many cases, these assets exist entirely because they can be exposed in this fashion, as is the case with companies like Google, Amazon.com, Ebay and the other first and second generation Web titans.

There are limitations, however, in purely proprietary systems that may prove to cap their penetration to a relatively narrow user population.  The driving benefit of standards is interoperability between systems, and it is unthinkable that there should not be many independent systems operated by geographically, politically, economically and technically insulated providers.  This is a simple matter of redundancy; at issue is the survivability of critical communications infrastructure.  While it is possible to deliver many advanced capabilities through proprietary means, at least where it comes to the user's experience, there are benefits to the use of standard infrastructure that are visible to users, and few limitations.

For example, users that install the proprietary Skype Voice over IP client (VoIP) are offered the option of installing a Skype Tool bar that extends most current Web browsers.  This browser extension automatically inserts code into rendered Web user interface by looking for telephone numbers and replacing the relevant mark-up with a click-able icon representing that number.  By clicking on the icon, the Skype VoIP client software is launched and automatically begins connecting with the target number (or other Skype user via a Skype ID).  If this target callee is registered on the system and currently reachable via a Skype client, the call session is established directly.  If the callee is not reachable directly, the Skype network routes the call to a Public Switched Telephony Network (PSTN) gateway device that is connected to the IP network at a location that is considered "local" to the callee's premises, incurring the lowest cost.  This ability to "inter-operate" with the PSTN is, in fact, the basis of the Skype business model; Skype charges users for the right to terminate basic VoIP calls outside the Skype network.  In practical terms this is a very low-cost approach that relies on the pervasive presence of the client software to drive adoption of behaviors and infrastructure that are entirely funded and supported by the users themselves, and to charge for the capability that is itself the bulk of cost of sales.  There are real limitations, however, to this approach that will become visible to users by comparison as standards-based systems begin to proliferate.

Using an IMS-like system, for example, it is possible to offer users a number of means to achieve superior utility and convenience, with more fine-grained control over the cost of delivery.  This standards-based system offers the ability to dynamically (or according to the providers design) insert similarly click-able icons or other elements of user interface into Web applications developed and delivered third parties. These click-able icons, widgets or other interface artifacts can similarly connect a callee to a caller, but with the advantage that the system connecting the caller and callee is able to make complex decisions about the caller's likely intention based on time, location, preferences, billing status, identity, group membership or any other data related to the caller, callee or context for the communication session.  These decisions can result in the callee being offered personalized information about the disposition of the caller, options regarding how the caller would like to proceed or other interaction with applications acting on behalf of the caller or callee.  These range from applications like Interactive Voice Response (IVR) user interfaces, simple voice mail, interactive Quality of Service selection, interactive or automated media negotiation, multi-device communications sessions.  All of these advanced services require interoperability between the systems used by the caller and callee.

With all of this in mind, however, it is not the utility of proprietary systems that is the primary threat to the incumbent CSPs; it is the possibility of a proprietary system becoming a standard combined with the radical change in user expectations regarding price, service, reliability, ubiquity and usability that is the real threat.  Given the recent write-down of the value of the Skype acquisition by Ebay, this possibility seems to be, as would be expected, receding.  The possibility of a proprietary system becoming a de-facto standard is very low (although examples of this are easily found), and it is likely that most of the larger proprietary IP communications systems will evolve toward standards.  While user expectations can be met using a variety of technologies, it is likely that the transition from legacy technology to new technology will involve major changes to the business models of most incumbent CSPs.  Surviving this potentially radical shift in business models is the greatest feat they must accomplish, and incumbent CSPs find themselves obligated to invest in process and technology change to improve their odds for a successful transition.  The Telecommunications industry as a whole is being challenged, and the growing minority of forward-thinking service providers that understand their need to evolve are seeking partners who can provide the infrastructure and expertise needed.  The Service Delivery Platform concept, as an example, has origins in the long-understood need for new revenue and growth, but the actual deployment of SDPs seems largely motivated by the desire to mitigate risk.  Neither opportunities for growth nor risk are currently in short supply.

The needs of this leading edge class of incumbent service providers dovetail well with BEA's historic position in the marketplace for Information Technology infrastructure and our current and future product and service offerings.  Service providers such as Yahoo!, Google, Ebay, Facebook, Amazon.com, Salesforce.com, Bebo, LinkedIn and the like are largely technology companies, driven by effective internal development of applications and infrastructure at the lowest relevant levels of the "platform stack". Telecommunications Service Providers have historically relied on their operational excellence ( as providers of an "essential" service) and the massive scale of their investments in physical plant, effectively operating as utilities, to shield them from competition.  They have relied on strategic technology partners (Network Equipment Vendors) to deliver pre-packaged systems built to carefully negotiated standards to continuously improve their operating costs and extend their reach to service more customers.  Prior to the introduction of Wireless networks (which was itself the last great disruptive Telephony innovation), this interest was almost exclusively cost-focused; there was little that could be done to a network that could increase the perceived end-user value of a minute of casual conversation. 

The notion of "differentiation" has only recently been regarded as relevant to the business models employed by these large incumbent providers, and they are ill equipped, organizationally and culturally, to develop the means to innovate and evolve at the same pace as their now well capitalized and mature Web competitors.  In many cases, such as with Google, these challengers are not only unburdened by investments in legacy infrastructure and outmoded organizational structures but are also very well capitalized and no longer deterred by the billions of dollars required to build and operate their own access networks. 

Incumbent Communications Service Providers need vendor partners (like BEA) that can rapidly augment existing infrastructure with tools and technologies needed to offset the CSPs own limited ability to innovate on the scale of their new Web competitors.  In the next two years, the notion of a "vendor built" network will begin to describe only a minority of the largest incumbent CSPs whose physical assets and massive scale are sufficient to force the largest NEPs to truly and finally devolve into out-sourced R&D teams.  The rest of the market will either have re-develop their own differentiating R&D and delivery capability or be trodden upon by the technology-focused new entrants that are born from a culture of technical and business model innovation (again, a reference to Google and Facebook and the like).  Technically, these "Tier 2.5" service providers will require the means to expose their assets to internal communities of casual developers and internal R&D organizations.  In this phase we foresee the rapid growth of the market for "Network Middleware".  This phase will be one best described as "transitional", in that it will not require wholesale changes to business models.  The focus of this phase is cultivation of the means of technical innovation as a differentiator, both in terms of new revenue and new cost savings.

Quickly following this initial phase, however, (or perhaps overlapping by two to three years) will be an equally intense period of development focused on business model flexibility.  This “second phase” will build upon the successes that come from an increased ability to undertake effective R&D and will lead to the development of new assets which can be exposed to users and 3rd parties via the Web, harnessing it as both a sand box for innovation and an immediate source of new revenue.  By adopting an infrastructure which "Web-ify's" the CSPs assets and makes them as easy to access as now well-known Web services like Google Maps or Amazon S3, it is possible to create value in a similar way.  Beyond the ability to initiate a voice session or send a text message, CSPs can offer conferencing capabilities that bridge multiple networks and technologies transparently.  They can broker media transcoding between providers and consumers based on device, client and local network capabilities.  They can provide globally accessible storage for preferences and personal information, multiple user interface options for applications, special access to content stores, handle charging and billing for third parties, offer spare network capacity for computing tasks or data processing, provide user location information or contact preferences information to external applications and a host of other valuable capabilities. There are non-functional requirements on the desired infrastructure as well, however.  The Service Infrastructure that enables this integration and exposure capability should not prevent or complicate in-house development of other more tightly coupled and sophisticated consumer services, and should not have to be sourced from a single vendor.  Taken together, these services and requirements illustrate both the capabilities of and need for Service Delivery Platforms, and make it clear what value BEA is well positioned to deliver.

Operationally, the need for scale, performance and efficiency, security, and other characteristics distinguish the necessary infrastructure from the similar enterprise-focused products that exist today.  Beyond this issue of Web exposure, the unfortunate (from the incumbent's perspective) reality is that the capabilities that once were considered highly advanced and uniquely valuable to users are now bordering on trivial in the minds of a whole generation of new customers that can barely recall a time before Voice over IP became relatively commonplace.  The need for exposure to the Web is merely the beginning of the transformation that is required, and ultimately the success of business models based on this approach will necessarily lead to development of new capabilities for which a proper Service Delivery Platform and SOA infrastructure is required. 

Even large enterprises may become their own CSPs, benefiting from lower costs, improved security, greater utility and usability and seamless interoperability with other similar systems via the Web or purpose-built IP interconnections.  Ultimately, the integration of coordinated, real-time communications channels with business process automation on a mass scale will result in tremendous value for users.  Group-ware, for example, that integrates voice mail and email and handles scheduling and automatic initiation of conference calls, offers a significant value, particularly if it does not require purchase of extensive new hardware (hence Microsoft's "VoIP as you are" marketing campaign slogan for the Unified Communications capabilities their software now provides). This value will be material in terms of service usability and, utility and substantially reduce costs and improve, cost reduction and new revenues for enterprises of all types.  Integration with integration and exposure via the World Wide Web will drive mass adoption of key technologies and volume deployments of BEA products as a consequence.  One of the added benefits of current standard technologies is their functional commonality - Enterprise VoIP systems are often re-purposed systems developed for the "Tier 1" CSPs.

 



Great BLOG on IMS (and SCIM in particular)

Posted by mpalmete on July 8, 2007 at 8:10 PM | Permalink | Comments (0)

Check out The IMS Lantern for some great thinking on the SCIM and other IMS topics of interest.

Tags: ,


Why I think "Web 2.0" is Important

Posted by mpalmete on July 5, 2007 at 2:50 PM | Permalink | Comments (0)

When I first heard the term “Web 2.0” I must admit that I was sceptical.  It seemed, at the time, like hype without substance.  Every characteristic of the Web 2.0 seemed to be merely an incremental advance from something that came before – elements of it were obvious and familiar on the one hand, and imprecisely defined on the other.  Personal web-pages evolved into BLOGs, HTML was gradually replaced with XML, use of Java-Script for making those nifty drop-down menus evolved to AJAX frameworks, embedding multimedia content went from “bells and whistles cool” to commonplace, and so on.  My feeling about much of this has changed dramatically, though, over the last few months and I am now a staunch advocate of this perspective.  What I failed to appreciate is that the real change that’s happened in the Web that marks the birth of “Web 2.0” is not in the technology, but in the perception of tens of millions of user and Web developers of the Web’s potential – the Web 2.0 is a “re-think” on the future of the Web and not a statement about any specific technical or cultural milestone. 

What I, and many of my colleagues, are realizing now is that the future of human communication is not all about ubiquitous access to IP networks and off-the-shelf network equipment, but is likely much more specific to the killer Internet application of the early part of this decade: the World Wide Web itself.  I think many people believed, particularly in the Telecommunications industry, that the limitations of low-power mobile devices, lack of a clear comprehensive standard for application user interface, the different non-functional requirements of certain wireless network technologies, and so on, required standardization that paralleled and potentially obsoleted the WWW as they knew it.  WAP is one such example, and I suppose MMS may be another.

And at the time when all of this work started, the rationale was perhaps sound.  The notion of having a hand-held device that could emulate a PC in terms of a user’s access to the Web was considered far-off, and the ubiquitous broadband IP network access such a device would require was equally futuristic.  When I started with this particular technological revolution in 1998, this was all true, but time and change have continued and now, in 2007, we have 3G, municipal WiFi, 40%+ penetration of broadband in most major markets, and an evolved Web 2.0 which effectively decouples the User Interface for services from their network-side implementation.  And we have the iPhone, and all of it’s arguably more advanced peers already widely used in leading-edge consumer electronics markets like South Korea and Japan.  To some extent, the convergence of the information technologies, as the early Web clearly was, and communications technologies has happened, but in a way that was without centralized control or oversight.  This is, not surprisingly, the way broad-based technological change often happens.  And also not surprisingly, many “bricks and mortar” network operators have suddenly realized that they are not as unique as they once believed.  Despite the fact that many Telecommunications service providers own their networks and have historic customer relationships, they are essentially just another enterprise seeking to monetize their assets and expand their business using the Web as a delivery medium and means of improving their ability to reach and retain customers.  In fact, I’ll make a rather bold and provocative statement here (well, perhaps not so bold and provocative to some): Telephony is dead, and the Web 2.0 killed it while we were busy waiting for all-IP.

The perspective that I have taken recently is a big change for me.  When I think about telecommunications these days, I think in terms of the PC and AJAX client container as the “ultimate” endpoint for any communications session.  To a great extent, I think that every other device can be considered a variant of the PC with, perhaps, some specialization related to it’s typical role in a user’s work-flow.  Some devices are mobile, some are small, some are designed for use via a hand-held remote control, others are used for data entry, etc.  The variation is increasingly in terms of user interface, owing to different form factors and specialization for different end-user work-flows.

The great leap forward in Web 2.0 is the decoupling of the user interface from the “view” (I’m talking in terms of the J2EE “Model/View/Control” paradigm) presented by applications accessed over the network (whether those are end-user devices or huge server farms in the data center is immaterial).  The early Web relied on application-driven rendering of User Interface using HTML: the Web application itself defined the user interface and that user interface was developed to support a range of work-flows that were internal to the application.  In the early days of the Web, each application was atomic and required a device with a particular form factor in order to be used effectively.  The notion of “client adaptation” was briefly popular, and some companies made money doing device detection and transcoding (BEA has such a product) and even offered environments that allowed developers to hint at the rendering that would be most likely appropriate for any given device form factor.  The Web 2.0 approach, by contrast, is to break out each feature of an application (or easily re-used used work-flow) and expose them as a single “application service” using a very high-level (read: “easy for laymen or novices to use and integrate”) style in which the actual rendering of the user interface is largely (if not completely) subject to the capabilities of the client and the interest of the end user (or some third-party integrator).  This means that “applications” increasingly exist in user-controlled environments and not in service provider environments – what “service providers” do is expose their infrastructure and data resources in bite-sized, readily accessible pieces and allow other service providers or end user to do the minimal integration needed to derive maximum value from those capabilities. 

From this perspective, capabilities like secure network-side data storage, bandwidth-on-demand, trust brokering, billing consolidation and access to legacy (pre Web 2.0) databases, clients and other infrastructure are the real assets that a typical Network Operator possesses.  Compare this with the capabilities that a service provider like, say Google, offers: Web search algorithm and database, an advertising system, email service, and the like and you’ll see that there are far more similarities than differences from a Web 2.0 user’s perspective.  Increasingly, the differentiation of one network operator from another, and from the likes of EBay, Google, Flikr, Amazon.com, Yahoo!, MSN, Salesforce.com, LinkedIn and others, will come down to the ease of use and novelty of these individual exposed services and the ability of the masses of Web 2.0 enthusiasts and end users to find new synergy by mixing and matching them to create new applications.  And whether the user interface is a speaker, microphone and dial-pad or an AJAX famework and a Web browser on a PC, these services are all increasingly likely to share a common server-side implementation built on well-known technologies and styles like HTTP, XML, SIP, AJAX, FLASH and the like.

From where I stand, it seems like the “convergence” that the Telecommunications industry has been talking about for nearly a decade is finally here, and it’s being called “Web 2.0”.  Go figure.

 



Caching and REST Web services

Posted by mpalmete on July 3, 2007 at 4:07 PM | Permalink | Comments (0)

I’m really fond of the notion of REpresentational State Transfer (REST) these days, and right now I’m chewing on the relationship between REST and caching and resource abstraction/normalization (take a look at the Wikipedia entry on Representational State Transfer to get a sense of my frame of reference for this blog).

Despite the fact that REST usually involves the HTTP protocol, the data object (representation) in question can be accessed by any means that gives me the basic CRUD that I’m looking for.  This has no bearing on the business logic of my application; I could be using any data access layer that gives me the CRUD operations that I need to allow me to modify that object and communicate the changed state back to the resource.  In a multi-protocol world, this is a pretty powerful concept.  The exact nature of any connector is irrelevant beyond the Data Access API supported by the connector that I am using.  To stretch this a bit further, let’s suppose that a middleware container may, for all practical purposes, be a connector (at least in this sense).  The architecture that leaps to the forefront of my mind is one in which the connector acts as a bridge between the client and the resource, but does not dictate anything whatsoever about the business logic implemented by the resource itself.  To my mind, this makes the notion of Enterprise Data Fabric (a data grid augmented by some resource integration toolchain) very complimentary to the concept of REST services and very neatly appropriate to container-based middleware (like, say Servlet containers).

Now the cases that I’m really thinking of are relatively few, I admit; I’m thinking mostly about applications that have both SIP and HTTP capabilities, like conferencing, messaging, telephony, presence, group list management, and so on.  These are not fringe cases, of course: they’re central to the entire universe of Next generation Networks standardization.  What’s more interesting, though, is the immediate relevance to what is happening in the Web 2.0 world at the same time.  The Telecommunications standards bodies, namely the IETF and all of the other bodies that roll IETF RFCs into their layered specifications, have latched onto the notion of the XML Configuration Access Protocol (RFC 4825) as a generic framework for personalization and preferences management (the ‘User Plane’ of next-generation networks).  What made this such a good choice was not the fact that XCAP is a REST framework, but that this approach exhibits a number of key characteristics which are really important in Internet-scale, high traffic, multi-vendor environments: loose coupling, resource efficiency (communication state is easier to maintain), backwards compatibility with existing infrastructure and scalability (through caching).  It is on the last point where I thin there is something to be considered that Roy T. Fielding’s excellent dissertation considered explicitly.

If we consider the notion that the Data Access API exposed to application business logic executing in a middleware container constitutes a connector (in the REST parlance) then it is entirely reasonable that such a connector may incorporate a caching capability.  The container may also handle identity management, privacy and Service Level Policy enforcement.  It could even provide an environment for resource integration with the cache that hides the complexity of the resource entirely from the business logic of the service.  Now I realize that this is all a bit far from the letter of the REST law, as it were, but my point is that there are elements of REST that can be brought to bear in implementations that stray quite far from strict REST application in the context of the World Wide Web and HTTP.

In this regard, I think that there is a relationship between REST principles and, for example, infrastructure like BigTable, which meets not only functional requirements of end users, but is inherently predisposed to very large scale, high performance systems.  I predict that REST and Data Grids (and the notion of the Enterprise Data Fabric) will emerge as central concepts in the nex big wave of development of the Web 2.0.



xcap-client: AJAX XCAP Client

Posted by mpalmete on June 29, 2007 at 4:05 PM | Permalink | Comments (0)

xcap-client: AJAX XCAP Client.

This is a very nifty project.  I’m quite enthusiastic about it.

Tags: , ,


microformats | About microformats

Posted by mpalmete on June 29, 2007 at 3:49 PM | Permalink | Comments (0)

microformats | About microformats.

It’s been a while since I blogged, and I must admit I’m feeling a bit buoyed by the incredible progress that has been made in the last year within the Telecommunications industry and the promise of merging real-time communications (read: “Telephony”) with the World Wide Web.  In some ways, over the last few years, it has become clear that this is not so much a merger as an acquisition: the direction of change seems to be increasingly driven by the evolution of the World Wide Web and not merely the roll-out of underlying IP infrastructure.  Real “Convergence” is happening farther up the stack that many people anticipated even as recently as two years ago (myself included).

One of the really fascinating developments that we have been watching unfold is the evolution of Service Oriented Architecture into three fairly distinct, but parallel, sets of technologies and design principles.  On one hand, we have the incredible progress that has been made in developing a set of protocols and architectures for business process automation.  Stuff like enterprise Service Busses and Data Fabrics and Business Process engines.  At this point, most (the vast majority) of major enterprises are already taking an SOA approach to development of their IT infrastructure.  The benefits are pretty well established and the products that are needed are now widely available.

In the Telecommunications industry, happening in parallel with the advent of SOA, is the emergence of a real-time variant on the theme of service oriented architectures.  It’s more rigidly defined than the SOA we’re used to in the IT domain, but there are many design goals and technologies in common.  The specifics aren’t important in this context, to be honest, aside from some observations which I’ll get to later.

At the same time as SOA and IMS have been developing, we have seen the world of “Web 2.0” technologies and approaches come to dominate the way end users interact with the World Wide Web.  There are many similarities, of course, in the problems and opportunities and challenges that IMS, SOA and Web 2.0 seem to address, and it could easily be argued (perhaps it is even self-evident) that Web 2.0 is the “user facing” part of both IMS and SOA.  The distinction between Web 2.0, IMS and SOA, is more one of emphasis than of principles.

So if we take a moment to compare, I’d say that SOA tends to focus on a few technologies, namely Simple Object Access Protocol and it’s adjacent technologies as a base toolkit for service integration.  The early SOAP approaches were very aligned with verb-heavy RPC-style services, although this seems to be out of vogue now to some extent.  The services that are exposed in enterprise SOA architectures are modeled along organizational and functional boundaries, and tend to be optimized for re-use and maintainability rather than usability.  You could argue that this is not dictated by the technology but is merely a byproduct of it’s common application, but that is neither here nor there for the purpose of this discussion.

Now this is of particular interest to me (being more of a Telecom guy than a Web guy by experience) because the current standardization happening in fora like the Internet Engineering Task Force (IETF), 3rd Generation Partnership Project (3GPP) and the Open Mobile Alliance embraces a very RESTful approach to Web services for a certain class of key use cases in next generation networks.  This aligns extremely well with the dominant Web 2.0 style, from RSS to Google Maps.  What is truly interesting to me is the fact that both the Web 2.0 and IMS seem to have come to similar conclusions about how to use REST web services for presentation of user interface to network resources.

I’m specifically talking about the “user Plane” of the network and a set of protocols and standards around the XML Configuration Access Protocol (XCAP).  XCAP is a very simple REST Web services standard that maps simple CRUD semantics and XPath to the HTTP protocol.  The result is a relatively straightforward and open-ended REST framework that can be used for a multitude of services far beyond the cases that are considered explicitly in the standards.  If you add some other complimentary stuff like AJAX client frameworks (for rendering UI), WebDav (for transactionality), IP Multimedia Subsystem (for integration with next-generation and last generation communication networks) and the Session Initiation Protocol (for event notification and real-time session control) you get a very rich environment for developing “widgets” or “microformats” that securely expose real-time communications systems (whether enterprise or Telco class) to Web 2.0 developers and users in a fashion that readily allows composition of those capabilities into applications that simultaneously interact with the myriad of other services available on the Web.

So what made my click my “blog this” button when I came across the microformats.org site was the really down-to-earth focus on usability over “high concept”.  I think there is tremendous merit to the spirit of the microformats approach, particularly since it fits so neatly into the NextGen communications services paradigm.  I have no doubt that we are entering into an era of dramatic change to the way we view communication, and the surprise to some may be that the way forward is all about communications-enabling the Web, rather than Web-enabling the communications network.  That’s merely my opinion, of course.  But I suspect I’m not alone.



The Problem Wth Distributed Systems and the Benefit of Co-Location

Posted by mpalmete on July 18, 2006 at 2:16 PM | Permalink | Comments (1)

With so much attention being paid to architectural concepts that involve Internet-scale distributed systems, I sometimes think that there is an important point that is being overlooked. Software architectures that allow for distribution of loosely-coupled, re-usable application components are very helpful in reducing ongoing maintenance, development and integration costs and effort, but no architecture should require that components arbitrarily be distributed. In fact, most implicitly do not, although I think this could be stated more clearly.

The reasons for this are simple resource efficiency and latency. In cases where the cost of implementing, integrating and maintaining applications is very high versus the costs of hosting facilities, server hardware and connectivity, loosely coupled, distributed systems are very appropriate, since they offer a means of reducing these costs. In other cases, where the sheer volume of traffic increases the relative costs of these "hard" resources, the benefit of loosely coupled, distributed component architectures decreases. In some cases, the added resource costs outweigh the benefits of the otherwise improved flexibility of the system.

Now, I'm bringing this up here to put the IMS standards in a particular context. Anyone familiar with the standards that define the IM subsystem and it's adjacent subsystems (like Generic User Profile or the XML Document Management architecture) will surely have noticed that there are A LOT of "boxes" with reference points between them mapped to protocol-based interfaces. If taken literally, where each such system element is actually implemented as it is shown in the specification, the total amount of "hard" resources consumed by an actual network would be astronomical. This is obvious, of course, and that's why every vendor advocates products which "bundle" multiple standard functions. In some extreme cases that I have seen, the entire IMS is implemented as a single, monstrous piece of software that claims to eliminate the need for all of this signaling even though it (technically) still supports the standard external interfaces required by each standard element. To be frank, this approach is very "old-world Telecom" and solutions like this are very appealing to large service providers with a lot of legacy infrastructure that (they hope) can be "upgraded" to IMS but essentially fulfill the same role in the network that they are comfortable with. This seems to be how switching systems tend to evolve.

Although this undermines many (if not most) of the goals of the architecture, it can be an effective approach because the underlying rationale is sound: tight coupling improves resource efficiency past the minimum threshold for commercial viability and only single-vendor implementations are likely to be truly commercially deployable because of it.

I would argue, however, that the critical flaw in this approach most of the time is the actual execution environment itself. An easy to use programming language combined with a domain-appropriate programming model and large base of existing developers, applications and tooling goes a long way toward realizing the business goals that were motivating the standardization of the architecture. Most importantly, if the execution environment (let's call it a "middleware platform") does not impose any requirement on the developers of the application components to account for either co-location or distribution in their component’s design, then so much the better: deployments may start out as "one box" solutions and seamlessly be distributed if/when/how required. After all, components must always be coupled together for the system to function and the real issue is where the coupling between components must be tight and where it may be looser. Depending on how components are packaged in different vendors products, some components may be subject to changes imposed by the evolution of other parts of the network that affect how, and to what, they are tightly coupled.

Although it could be argued that this is only a transient need and that the minimum "commercial viability" threshold naturally goes down over time because of incremental improvements in the underlying hardware platforms and access networks. While this may be true, we're still talking about a process that may take many years, and there is potentially a lot of business value ion doing something in the meantime. Perhaps the greatest benefit of this approach is that it empowers the infrastructure owner to benefit from this incremental change at their own pace, without being entirely dependent on the product release cycles of the proprietary platform vendors.

So with all of this discussion about SOA and IMS, both of which are intended to be loosely-coupled, "Internet scale" distributed systems, the core value of a standard middleware platform (termed "application infrastructure" here at BEA) has not gone away. Quite the opposite: platforms of this type offer substantial benefits and are actually essential to the early stages of the introduction of large-scale distributed component architectures into environments full of heterogeneous legacy infrastructure.



SIP Servlet 1.1 (JSR 289) and the Service Interaction IMS

Posted by mpalmete on July 16, 2006 at 3:08 PM | Permalink | Comments (0)

The JSR 289 (SIP Servlet API 1.1) expert group is being lead by Nasir Khan, the Chief Architect of the BEA WebLogic SIP Server. Nasir has been kind enough to keep us updated on the progress of the specification and I am very enthusiastic about the potential of that JSR to, at least partially, resolve some of the varied concerns about the Service Capability Interaction Manager problem in IMS.

The “Application Router” is a new function which will be introduced in that specification. In the JSR 116, service composition was done by the container proper and was limited to the Cascaded services Model (SERL). The upcoming JSR 289 specification will define the entity that handles application composition (“Service Interaction” in IMS terms) as the Application Router (AR) and define a standard API that hides the implementation of the AR from the SIP Servlet container.

This means that Application Routers can potentially be developed by anyone with knowledge of the JSR 289 specification and not just by the container provider. It also means that the AR can be designed to handle application composition in any way the implementer of the AR chooses, so long as it satisfies the contract with the container. This would, for example, allow us to custom-develop application Routers for specific compositions, or introduce context-aware ARs that can do complex things like check service authorization, locate and retrieve user profile data, do account balance checks or pull routing and sequencing rules from back-end support systems. In short, the AR becomes an “umbrella” under which container providers, independent software vendors and even end-users (service providers) can introduce a number of application composition alternatives – there is no single AR implementation that satisfies all use cases, but the JSR 289 gives us a clear delineation of the boundaries between the application container and the service interaction/orchestration logic that should be invoked to handle any particular session.

Keep an eye on the status of the JSR here: http://jcp.org/en/jsr/detail?id=289

Representational State Transfer (REST) and Data Distribution in SIP/IMS Networks

Posted by mpalmete on May 2, 2006 at 7:53 AM | Permalink | Comments (0)

Representational State Transfer (REST) is a Web services approach that is the foundation of the World Wide Web, although it may not always be acknowledged as such. Within the IT community, the Web Services Definition Language and Simple Object Access Protocol tend to dominate the discussion about Service Oriented Architectures (SOA). The XML Configuration Access Protocol (XCAP), however, offers a RESTful solution to the problem of efficient data distribution in SIP/IMS networks. Moreover, XCAP may e used in conjunction with SIP for session management and state change notification to create a highly scalable, efficient and flexible system for data distribution.

Although this approach may not seem intuitive (or contemporary) to many IT architects, it is currently the basis for a big chunk of the data management infrastructure in IMS and is poised to move beyond Presence and Group List Management and into real-time configuration and management of network edge devices, policy distribution and application sesion state management. In short, this set of technologies is poised to become the primary point of contact between the Service Delivery Platform and the IMS control plane nodes.

There's little I can say on the details of REST that has not been better said by others already, so I will defer to the Wikipedia for a more thourough discussion of REST:

http://en.wikipedia.org/wiki/Representational_State_Transfer

Service Capability Interaction Management (SCIM) in IMS

Posted by mpalmete on February 7, 2006 at 8:57 AM | Permalink | Comments (3)

The Service Capability Interaction Manager (SCIM) was introduced in 3GPP TS 23.002, Figure 6a: Functional architecture for the provision of service in the IMS as a function within the "SIP Application Server" domain of the IMS architecture. Although there is only a small amount of text in the 3GPP Release 6 specifications describing this function it is clear that it is intended to be a placeholder for an obviously necessary but vendor-defined solution to a common problem: orchestration of interaction between "Capabilities" in the larger network which are represented as SIP Application Server instances.

In practical terms, a "capability" is a system component that may be used (presumably with other components) to implement a "service" that is packaged and delivered to end users of the network. For example, a group list server and a presence server may both be considered "capabilities" that are used to implement a sophisticated conferencing service.

The implementation of a specialized SIP application Server (or feature of one) that qualifies as an SCIM is somewhat challenging, however. The issue is not the technologies or expertise required - in fact this is almost impossible to even evaluate. The real issue is the lack of a standard definition of the types of service capabilities that must interact. In practice, most commercial networks are already comprised of a number of existing systems built according to standards and with technologies that pre-date the IMS. In some cases, service providers expect those capabilities to be available to newer IMS services. In other cases, service providers may already have chosen IT-centric technologies to implement capabilities that should be re-used in an IMS context. What seems fairly obvious at this point that the term SCIM actually refers to an entire class of functions and not to a single implementable solution to this fairly broad problem. What could be inferred, though, is that there are likely a few specific types of SCIM that can be identified. Bear in mind, of course, that this is a subjective categorization based on contact with service providers and there are many grey areas.

Some possible types of SCIM:

AS Internal Function - SCIM that are implemented as request dispatchers wthin the local execution environment for service logics.
This type of SCIM is merely a reference to the ability of a SIP Application Server to selectively invoke specific service logics based on the nature of the SIP request. In the case of the SIP Servlet API, for example, the SIP Servlet Container uses Servlet Mapping Rules declared in the deployment descriptors for the applications to select the specific Servlets which will be invoked to receive a given SIP Request Object (and in which order). Most SIP Application servers will use a similar mechanism for selectively invoking components, although these will generally be proprietary and tightly coupled with the implementation technology in use.

SIP Broker - SCIM that manage interaction between components that implement SIP proxies or user agents.
This type of SCIM is likely the most intuitive to network architects focused on the problem of multi-vendor service delivery platforms designed to maximally exploit the full capabilities of the signaling system (control plane) of the network. These implementations generally involve the use of Back-to-Back (SIP) User Agents and complex routing and sequencing rule engines (often somewhat similar to the Serving Call Session control Function itself in many ways).

Service Brokers - SCIM that manage interaction between service capabilities that are exposed using WSDL and SOAP-based abstractions of the IMS network.
This type of SCIM necessarily involves abstraction of the SIP protocol. SIP is the IMS service Control (ISC) interface used between the core network (Serving Call Session Control Function) and the service capabilities in point. Since SIP is not generally translated directly into SOAP messages (for a number of reasons this is neither practical nor desirable) it stands to reason that the invocation of component service logics is based on an abstract view of the underlying network more appropriate to session-ess, message-passing. These types of SCIM generally model interaction between services as business processes.

Legacy/NGN - SCIM that manage interaction between SIP features and legacy signaling system components.
This type of SCIM is potentially the least well understood as a "generic" solution, since the specific legacy interfaces needed vary widely between Circuit Switched core network implementations (from region to region and vendor to vendor). In legacy networks, features such as voicemail, call display, call forwarding, etc. are implemented on vendor-specific switching platforms and generally support INAP or CAMEL interfaces. These types of SCIM generally include a protocol mapping function in addition to a triggering and routing function. These types of SCIM are often tightly coupled with the legacy feature implementations and often this type of SCIM is embedded within legacy Feature Servers.

Service-Type Optimized - SCIM that are optimized for a particular type of service, rather than a particular set of implementation technologies.
Another approach to the SCIM seems to be gaining some prominence, particularly amongst the traditional Network Equipment Providers. In the interest of improved signaling efficiency the SCIM is integrated with components which support the signaling procedures common to a given type of service. For example, a “telephony” SCIM would be integrated with generic implementations of components which support the standard procedures for negotiation of media types, control of media servers for “telephony”, call transfer, call waiting, call hold, add/drop media and so on. These components are then exposed to other components via protocol-non-specific interfaces through which additional service logic or content is introduced that allow the service to be “customized”. This approach is based on an observation that there are often distinct differences between workflows for “full-duplex” media sessions, “half-duplex” media sessions and “messaging” sessions and further presumes that these types of sessions to not evolve into one another during typical use of the system. In such a case, a telephony session may include the ability to add or drop participants, but it will likely never become a full-fledged “conference”. In this case, a group of colleagues sharing an ad hoc call could agree to move to a conference bridge and thereby start an entirely new session which would (beneath the covers) involve a completely different SCIM function and set of applications.

For each of these different SCIM types, and for the general notion of the SCIM, the problem which is most difficult is the lack of a clear component model for the IMS. Although, as I have noted previously, the IMS does offer many clues and suggestions in a case-by-case way, there is no real clarity around what a typical component should be and how they should therefore interact. SIP does offer a powerful routing capability that allows for an “aspect oriented” approach to application composition in some cases. This capability is heavily exploited by the IMS reachability subsystem (the Home Subscriber Server and Call Session Control Functions) as a means of separating operational system aspects from the functional system aspects relevant to any given application implementer or user. This “chaining” of components is very useful but it is not truly sufficient for all cases.

An interesting observation that can be made about this list is that the types of SCIM functions (with te exception of the 'Service-Type Optimized' variety) seem to parallel the different types of Application Support functions and Application Servers introduced as part of the IMS architecture illustrated by TS 23.002, Figure 6a: Functional architecture for the provision of service in the IMS. This implies that, to some extent, the relationship between the Serving CSCF and the different AS types may not be sufficiently clear in the base 3GPP Release 6 specifications. This uncertainty, coupled with the obvious need for a SCIM of one type or another in virtually every IMS deployment, greatly increases the relative value of a flexible implementation technology for both service logics (features or components) and potentially for the Serving Call Session Control Function. In fact, in smaller IMS or IMS-like deployments, it may be sensible to group many of the functions of the SCIM, Serving CSCF and Application Server containers together in a single implementation.

While there remains a good deal of uncertainty about the exact direction that the industry will take in the long term, an “application middleware” approach to the problems of component implementation and interaction may offer the best overall balance of cost, flexibility and efficiency. In many cases, particularly in the near and medium terms, the ideal solution to the challenge of the SCIM will be the implementation of all related functions (Serving CSCF, SCIM and service components) using a common programming model and shared execution environment.

The substantial differences between the needs of different communications service providers, both in terms of the technology employed and the business problems being addressed, make it unlikely that our industry will arrive at a real consensus any time soon. While the debate within the industry about the exact nature of the SCIM problem is likely to continue for some time, there is certainly no shortage of need for products which solve it in one way or another.

So What is an "IMS Service", Anyhow?

Posted by mpalmete on February 2, 2006 at 12:09 PM | Permalink | Comments (3)

In the Telecommunications industry, the term "service" is often used to refer simultaneously to an implementation of some function in the network and to a particular workflow associated with a common consumer behavior. Things like Email, Web browsing, Voice Mail, Video Telephony and Instant Messaging are all referred to as Services.

From the End User's Perspective, a simple answer to the question of IMS services is often a list, much like this one:

Video Sharing
Unified Messaging
Unified Communications
Click to Conference
Multimedia Collaboration Suite
Multiplayer Gaming
Friends & Family Tracking
Virtual PBX
Security Monitoring
Field Force Efficiency
Logistics/Fleet Tracking/Mgt
Multimedia Ring-back Tones
Inbound call screening
Multimedia Caller ID
Intelligent Call Centre Routing
Find-me-follow-me
Group Hunt

There is an obvious problem with this approach, however - there is no consistency between the items on this list in terms of the targeted user, the atomicity of the "service" being referred to and, more importantly, the implementation of the system which can support all of these communications service products.

Although the IMS is defined specifically to support all of these kinds of "user experience" and workflows, the IMS necessarily excluded standardization of the services themselves. The IMS is a "toolbox" that exceeds the requirements implied by the list aforementioned list in a number of areas and may be equally useful as a generic solution to problems already solved using other more "vertical" technologies.

To really understand the implications of the IMS it is important to consider a few different perspectives on this question.

The Implementer's Perspective
The IMS is a "service oriented architecture" and presents a distributed component model for applications. This means that no single host in the system will provide all of the capabilities needed to realize the individual services mentioned above. In fact, it is implicit that the basic component model presented by the IMS will be refined further to maximize component re-use and facilitate true multi-vendor deployments. In many cases, the actual implementation of a given "IMS service" may involve nothing more than an appropriate User Interface. In other cases the "service" in question may be implemented through the definition of policy or configuration of different compopnents (service level agreements and orchestration). It is also worthwhile that the IMS introduces a few well-defined shared functions referred to as "IMS common enablers", the most notable of which are the Presence Server and Group List Management Server. although these "common enablers" are the only ones explicitely standardized by the 3GPP, they are not the only such re-usable omponents in the system and can be thought of as "templates" for other re-usable component implementations in the context of this particular network architecture. An entry will follow soon that looks at these in more detail. From the perspective of the would-be implementer, the point to take away is that an IMS Service may be as minimal as a new or modified user interface or a specific orchaestration of the interaction between components, and that any application may implement a User Agent in order to interface with the system - there is no particular characterization of an "IMS Service" beyond the ability of an end-user of the system to gain benefit by using it. Implementers of applications need to consider the broader system architecture, including integration with existing components and data distribution systems.

The Network Architect's Perspective
The IMS introduces a "control plane" (an overlay network for passing session control and media "metadata" between network functions) based on the SIP protocol. SIP is not relevant only to VoIP-type sessions, but provides a mechanism for rendezvous, identity assertion, capability negotiation and trust, and provides a general-purpose session control semantic adapted to both short-lived media sessions and to long-lived enrolment for state change notification. This "control plane" allows for a very deterministic network by allowing logics related to the "context" of a given session to be freed from the need to handle the "content" of the communication session. Service Brokering, for example, may be done very efficiently in the control plane without requiring that the Service Broker actually handle large media objects (or data objects or data streams) at all, greatly improving resource consumption in large scale systems.

The Information System Architect's Perspective
IMS and IMS-like architectures will very likely become ubiquitous across both Service Provider and Enterprise networks, largely driven by the need for cost reduction in core voice services and the productivity and cost gains possible through integration of voice communication with existing business processes and existing IP network infrastructure. The ubiquitous availability of this infrastructure will, over time, increase the relative costs of otherwise verticalized "application specific" infrastructure. The resulting cost imbalance will drive greater use of IMS-related infrastructure for purposes that are currently considered peripheral to the technology. In this scenario, many of the applications now delivered using "IT" technologies will be adapted (to the extent possible) to make use of this parallel network infrastructure. In particular, the boundary between support system functions and communications traffic handling functions will necessarily blur and will quite possibly lead to information system services using this same infrastructure to communicate, just as would any other "end-user" of the system. IMS archtectures will overlap with, and possibly displace, other approaches, even those currently being standardized around other technologies. In the long term, the IMS will have a significant influence on the evolution of IT SOA.

The question, then, "what is an IMS service?" may be answered with the tongue-in-cheek (but generally accurate) question "what isn't?".


Separating SIP from the VoIP Umbrella

Posted by mpalmete on January 10, 2006 at 7:14 AM | Permalink | Comments (1)

One thing that stands out about the current state of the discussion surrounding applications of SIP. SIP is not just about VoIP, although many of the current field of applications for SIP do involve VoIP in the context of multimedia sessions over IP. The truth, however, is that SIP is a relatively application-agnostic protocol that is primarily useful for supporting session management and user mobility. In many ways SIP represents a new layer on the Internet - the "missing protocol" as it were. Although the current buzz is very much driven by VoIP, SIP will come to be seen as something more fundamental than as a supporting protocol for VoIP applications. In fact, VoIP is merely the tip of the iceberg.

Telecom has an SOA too - the IMS

Posted by mpalmete on January 9, 2006 at 10:49 AM | Permalink | Comments (4)

The concept of the Service Oriented Architecture (SOA) is not new, although the reference is most commonly used in the context of modern information systems typically used in and between large enterprises. Service Oriented Architectures for information systems have largely been evolved from technologies and approaches that build popularized by the Internet. The IT industry has settled on an SOA approach that relies on the use of HTTP as the addressing and transport infrastructure and eXtensible Markup Language (XML) as a generic format for inter-process messages.

Current generation Web services-based SOA define a number of technologies that supplement standard transport protocols (primarily HTTP) to complete the architecture, such as the Universal Description, Discovery (UDDI), Integration protocol and the Web Service Definition Language (WSDL) and, optionally, the Simple Object Access Protocol (SOAP).

The combination of HTTP and XML, for example, is sufficient to allow the concept of a Service Oriented Architecture to be effectively realized through largely off-the-shelf products and widely available competence. In many cases, simple and relatively low cost upgrades of existing infrastructure are all that is needed to begin realizing a Service Oriented Architecture. There are substantial limitations to this approach, however, which make it generally unsuitable for a broad range of applications.

For a number of reasons, largely related to scale, resource efficiency, security, inter-domain interoperability and reliability requirements, real-time communications systems have not benefited from the Internet in the same way, or to the same extent, as information systems. Recently, however, a dramatic shift(fuelled by the remarkable increase in global IP network capacity, geographical coverage and the increasing power and flexibility of the computing devices available to consumers) has altered the balance of forces.

The fundamental ability to make use of the Internet (and all of its component technologies) for real-time, full-duplex exchanges of streamed data, such as voice and video, has only recently become achievable at the scale and cost levels needed to supplant legacy communications systems. The communications industry has standardized the essence of a Service Oriented Architecture of its own that, in many ways, exceeds the scope of the information systems from which it draws much of its inspiration.

This architecture is known as the IP Multimedia Subsystem (IMS).

About the IMS

There are several excellent sources for information about the IMS. I reccommend that anyone interrested in the IMS start by looking at the Wikipedia entry for IMS as a starting point.

Wikipedia - IP Multimedia Subsystem

From an industry perspective, the IMS is generating a good deal of buzz. One of the best sources for Telecom industry news and analysis is the Light Reading website (and the Heavy Reading consultancy).

Light Reading

A pedagogical white paper will be published in the upcoming weeks that deals with the specific comparison of IT SOA and IMS in more detail. Of particular interest is the IMS vision for Representational State Transfer (REST) "Web Services" using SIP, HTTP and XML rather than the more generalized SOAP protocol so common now in IT SOA discussions.

April 2008

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


Search this blog:


Archives

April 2008
December 2007
October 2007
July 2007
June 2007
July 2006
May 2006
February 2006
January 2006

Categories

Product: AquaLogic Data Services Platform
Product: AquaLogic Service Bus
Product: AquaLogic User Interaction
Version Information and BEA Workshop blogs for more details. ">Product: BEA Workshop Product Family
Product: WebLogic Communications Platform
Product: WebLogic Portal
Product: WebLogic Server
Role: Architect
helpful features that go above and beyond the standard JMS APIs. It is tightly integrated into the WebLogic Server platform, allowing you to build highly secure J2EE applications that can be easily monitored and administered through the WebLogic Server console. In addition to fully supporting XA transactions, WebLogic JMS also features high availability through its clustering and service migration features while also providing seamless interoperability with other versions of WebLogic Server and third-party messaging vendors.">Technology: JMS
Technology: Persistence
Technology: Service-oriented Architecture
Technology: Vertical Markets
Technology: Web Services

Recent Entries

Clouds, Federated User Profiles and IMS

SIP Servlet 1.1

Vision and Value: Standards-based, Web-centric Communications Service Delivery Platforms


Powered by
Movable Type 3.31