jump to navigation

Enterprise 2.0-Part1/2:Intro and architecture October 27, 2009

Posted by Terry.Cho in Enterprise 2.0.
Tags: , ,
add a comment

4’Th wave

After current enterprise model has been built, requirement of employee from company has been changing. There were two dramatic changes – Industry revolution, Information revolution.

In 18 century the industry revolution was begun from England. It is represented by mass production. Well-defined process makes employee to be parts of the big process. Individual capability, creativity and personality are not important. Company wants employee to work with same capability as a part. It enables the company to predict their output.

After the industry revolution, 3r’d wave came. It is information revolution. IT technology brings efficiency to a company and also breaks a wall from regional restriction. Employee has to work in global and smart enough to adopt complex IT system.

So what is next wave? We are fronted in 4’Th wave. It is WEB2.0.

In 2006 Times announced “A person of year”. It was “YOU!!”. In former times user just consumed information with traditional media (News paper, Television etc) . With growth of internet, the user gets a powerful bidirectional tool that is internet. The user can produce information and share it with other users by using internet.  The consumer has been prosumer (produce and consume information). They collaborate in Wikipedia or open source project. They also suggest idea or give a feed back to company. They begin to make new value by using internet. It is WEB 2.0.

Key point of this 4’Th wave is “Open” and “Participation”. This is now being applied enterprise. Employees share their knowledge with their blog and wiki. They are discussing in internet forum. They are searching information that is required their business from internet. Employee starts to generate new value by themselves for their business. It breaks traditional vertical communication structure. Employee communicates across their business unit and across vertical organization structure.  Finally enterprise wants employee to be creative and collaborative to make a new value.

Here is summary of expectation to employee from enterprise.

Changes Requirement for employee
2nd wave Industrial revolution Mass production.

Processed enabled business

Parts of mess process.
3rd wave Informational revolution High efficiency.
Information is product.

Global business

Efficient and globalized

Smart enough to use complex IT system.

4’Th wave WEB 2.0 Open and participation.
Occurrence of pro-sumer
Creative and collaborative



So what is WEB2.0? WEB2.0 is based on Web with internet. It is hard to define with some word. It is just paradigm not a technology. We can summarize characteristics like this.

User creates contents and share or sell : User creates contents and uploads it to YouTube, Flicker etc. And share the contents with other users. The content is not only produced by mess media.

Establish connection between people :Users manage their human network with SNS (Social Networking Service) like Face book and expand the network.

Generate a new value by collaboration :By using virtual collaboration space (WEB), users create new value. One of most famous collaboration example is Wikipedia. A lot of users post their knowledge. It is biggest dictionary in the world. Some developer contributes open source project like apache project. They makes software product.

Sharing information : User generated contents are existing in internet. It is shared to other users and is reused by the users.

Enhanced information approach and categorization : Traditionally approach to information is exact based search like google. But the approach is hard to find right information that I want. Rank based social book mark, micro blog like twitter, Tag cloud enables us to find right information more easily. Lots of recommended contents means it has high value.

Extension with open platform (Mash-up) :One of interesting characteristics of WEB2.0 is OPEN-API. WEB2.0 exposes their functionalities thru OPEN-API. So user can compose the OPEN-API and generate new value. For example user can mash-up Google Map & Restaurant information web site.

Communication with various way with various new tools :Communication is very important factor for collaboration and human network management. WEB2.0 provides new & innovative tool. Instance messaging based 1:1 synchronous communication. Video conferencing over different regions. Twitter based 1:anonymous users communication. In addition mobile removes time and location restriction.

ŸCan use anywhere and anytime with mobile device :In year 2009 there are many smart phone & mobile platform. Apple IPhone, Rim blackberry, Google Android etc. This mobile platform has very rich & speedy user interface. And network speed is highly increased. As a result mobile environment has been changed. Many WEB2.0 applications are supporting the mobile platform. It makes us to free from place and time restriction.

ŸEnhanced rich user interface :Traditional www user interface is image and text based static web. But from WEB2.0 the user interface is enriched with AJAX,FLEX etc. The interface looks like desktop application. It is pretty and comfortable. Indeed it leverage usability of WEB2.0 applications.

WEB2.0 has many other characteristics. But in this article, focus is how to apply WEB2.0 to enterprise. So I just close the WEB2.0 introduction here.

Enterprise 2.0

As I explained WEB2.0 has a lot of advantages. Beginning of Enterprise 2.0 is started from here. “How to apply the profit of WEB2.0 to enterprise?” Enterprise version of WEB2.0 is Enterprise 2.0

4C Model

To apply the profit we have to research WEB2.0 spheres. Here is example scenario

①     William wants to know a person who can help William to design Enterprise2.0 concept.
②     William find Johns by searching twitter with “#E20” tag.
③     William sent twitter message to Johns to ask some help.
④     Johns reply the message and they have a communications. But the communication gets more complex and need more conversation. They change their communication tools to Google Talk (Messenger)
⑤     William gets enough information. And William and Johns wants to discuss more about enterprise 2.0. So they open a thread in internet forum with “enterprise2.0” title.
⑥     William posts the news that the forum is opened in twitter and blog.
⑦     Many people know that there is a forum by twitter and blog search.
⑧     Many discussions are occurred in the forum.
⑨     William thinks that they can draw enterprise 2.0 architecture. So he opened Wiki page to collaboration.
⑩     Members of the forum post enterprise 2.0 architecture on the Wiki and the contents is matured.
⑪     The document is matured enough. William released the document in his blog. The posting is notified by twitter and blog trackback. Indeed many users internet share the information.

This is formal scenario of WEB2.0 usage. Let’s analysis this scenario.

In activity 1,2 William found Johns by using WEB2.0 tool. It is “Connection”. The Connection means that finding right people or right contents in internet.

In activity 3~6 William communicated with many people about enterprise 2.0. It is “Communication” Twitter ,Forum ,Instance messenger are good example of the communication.

And William opened Wiki to make enterprise 2.0 architecture. It is “Collaboration” As a result William made enterprise 2.0 contents. It is “Contents”. The content is value that is generated by collaboration.

These Connection, Communication, Collaboration and Contents are 4 main factor of WEB2.0. I call these 4 components as “4C” and interaction of the 4C is “4C model[1]”. Each component of the 4C model has own value. It communicates with each other and generates value.


Let’s summarize this 4C model.

Connection Finding right person and right information
Communication Communicate with people
Collaboration To generate value, co-work with other people
Contents Store value in www

Enterprise 2.0 Architecture

Based on 4C model, we can define Enterprise 2.0 system reference architecture. Here is the reference architecture


Each 4C model have realized component.

Connection component in the model has tools for connection. For example Microblog like twitter can be good tools for reaching a people. Search engine and Tag cloud helps people to reach the right information.

Communication component also has a lot of software tools. Instance Messengers for synchronous & 1:1 communication. Forum can be used to communicate with 1:N for specific issues. Micro blog also can be used in Communication for 1:Anonymous & Asynchronous communication.

In Collaboration area there are many new software. Wiki and Team blog is most traditional things. Nowday many vendors provides new collaboration tools like workspace (similar as group ware. It contains team wiki, team forum, dashboard and email integration, group management etc.)

Contents components commonly stores contents and share the contents with others.

These are example of 4C component software. In addition we need infrastructure to provide better service.

First, Enterprise portal. Each software that I mentioned above is silo system. It means each software has own user interface & ACL system. So to provide integrated view to end user. We need User Interface integration Layer. It is portal. It integrates user interface with Portlet, Clipping etc. In addition it provides single sign on features & ACL, Entitlement etc.

Even if the portal supports ACL and entitlement it is just for integrated layer. Something has to handle all of user identification information and more integrated authentication & authorization. It is covered by Identity Management System. It is IDM.

To provide freedom from location and time constraint, enterprise 2.0 need to support mobile device. There is many ways like WAP based portal. On device client etc. From 2008 Smartphone is rapidly developed and used (RIM/Blackberry, Apple/IPhone,Google/Android etc). Before that the mobile based interface was just WAP. But after we get a mobile platform & 3G network (Fast & support IP address) Mobile interface has been enhanced a lot. As a result it provides very rich and great mobile application infrastructures to us.

A reason why WEB2.0 is spread is it has a Rich user interface. The interface looks similar like desktop application. It is enabled by RIA technologies like AJAX and Flex etc. In the same way of WEB2.0, enterprise 2.0 also has to have Rich user interface.

In next article, i will introduce about strategy for enterprise 2.0.

[1] In year 2008 Niall cook announced another 4C Model(Collaboration ,Connection ,Communication ,Cooperation) in his book “Enterprise 2.0” but the concept and approach are different


Micro blog(Twitter) in enterprise #3-Implementation Strategies September 29, 2009

Posted by Terry.Cho in Enterprise 2.0, Micro blog.
Tags: , , , ,

Enterprise Micro blog architecture

Here is enterprise micro blog architecture. I already described common micro blog architecture. Here I describes additional features for enterprise version of micro blog.


Figure 2 Micro blog architecture for enterprise

User Interface

Micro blog support multi type of user interfaces.

(1)    Web interface
Most traditional common interface. It running on web browser in desktop.
(2)    Mobile device
Mobile phone or PDA. Depends on service country and device type service interfaces are different. 3G phone supports mobile application. 2G or 1G phone just support SMS and MMS. To support mobile device platform and interface type should be defined before designing architecture
(3)    Portal
Company has a enterprise portal (EP). To integrate micro blog with EP. JSR-160,WSRP(Remote Portlet spec) is used.
(4)    IM (Instant Messenger)
Sending a message to micro blog by messenger. Receive a micro blog message from messenger.
(5)    Other enterprise applications
Micro blog makes synergy by integrating with legacy enterprise system. For example notification of work flow (Like expense workflow process notification) is replaced with micro blog instead of email

IDM (Identity Management System)

Company has organization structure(Tree) and employee profile. We call it as IDM (Identity management system). Enterprise micro blog uses this user id. So the enterprise micro blog has connectivity for integration of enterprise IDM system. It also supports Single Sign On. (SSO)

Mobile gateway

Enterprise micro blog requires mobile gateway. Especially in case of global company mobile gateway is different in countries. Because career vendor’s integration style is different.

Enterprise search engine and social analyze tool

As I mentioned earlier messages in micro blog enables us to share knowledge. For sharing knowledge search is required. Company commonly has their enterprise search engine. Employee can search in micro blog system. But if the enterprise search combines message in micro blog. It leverages information sharing between employees.

In addition trend that is generated by analyzing message is important for risk management. This trend is reported by social analyze tool

Policy & Compliance Rule

Micro blog in enterprise has to solve security issue. In enterprise some group requires closed communication. For example discussion in HR team should not be opened outside of the team. Because promotion or expiration information is very sensitive to employee.

And to publish internal message to external micro blog (Twitter) It needs filtering based on company security & compliance rule.

(1)    Selective publishing

Filtering message when publish internal micro blog messages to external micro blog system. It automatically warn when prohibited keyword is detected during external publishing

(2)    Multilevel access & grouping

Support closed group communication.

Challenge in enterprise micro blog

Changing culture

Introduction of micro blog is not an introducing system but a change internal communication culture. Change communication style from vertical & closed to horizontal & opened. It can be faced on resistance from stakeholders

Security Issue

Message in micro blog can be confidential information.

If company try to use internal & external micro blog. Publishing is controlled by policy

In addition before deploying enterprise micro blog system legal issue should be reviewed. For example SOX law in US let company to store communication law 7 years. This kind of legal issue should be applied in the system architecture.


Micro blog is quite new in enterprise. So product is not matured.

And requirements of WEB2.0 application in enterprise is different. Because it is not a formal business system. It is totally related with company culture. So customization issue is different in company.

Before choosing enterprise micro blog solution, customization should be considered.

Implementation strategy

From now I introduced use case of enterprise micro blog and overall architecture. But achieving benefit of enterprise micro blog is not so easy. It requires cultural changes. It is long journey. And people is getting smart during project is going with lesson learned. Indeed I recommend step-by-step approach.

Step 1. Implement basic micro blog system

Install basic micro blog system Integrate with legacy user profile system and messaging system (mobile,email,im integration)

Step 2. Revitialization

In this step convince stakeholders. Change a communication culture step by step. Pull value of micro blog system. After finishing this step enterprise micro blog is culture in the company. And many information is archived in the system.

Step 3. extension

Integrate with other system to make synergy.For example, enterprise search + relationship based search. Trend analysis ,Crisis monitoring

Step 4. Develop new model

Based on enterprise biz characteristics, develop new micro blog model

For example. With LBS(Location Based Service) construction company check up health of employee and represent it as status.  If a employee has a accident, management team quickly meet it.

Micro blog(Twitter) in enterprise #2-Usecase of micro blog in enterprise September 28, 2009

Posted by Terry.Cho in Enterprise 2.0, Micro blog.
Tags: , , ,

Strategy of micro blog in enterprise

We understand how many values micro blog system has (In previous article). So what can we do in enterprise? Can we bring the potential of the system into efficiency of enterprise? Here is strategy

Micro blog for collaboration framework in enterprise

What can we do with micro blog in enterprise? There are use cases about internal use of micro blog system.

Develop personal brand.

Messages in micro blog are related to quality of personal brand. Message of expertise category or progress of work makes people know about the writer’s quality. Company uses this personal brand to optimize efficiency of their organization and let the company selects appropriate people for their work objective.

Aware risk quickly

By analyzing RT and hash tags in micro blog, company aware trend and risk. Field employee becomes aware risk most quickly. Analyzing trend let manager know that “Many employees think the problem can be risky. Many other people agree about that by RT etc.” It makes company find risk quickly and prepare the risk.

Make connection to expert

In huge company it is hard to find person who has an experience or knowledge about a problem. To find the people, employee asks to their manager with formal process. (face to face meeting or writing email.) The manager tries to find the people by asking another people etc. It takes a lot of time. And hard to find appropriate people.

In micro blog system, employee finds a people with hash tag search. And measure his expertise with history of his message in micro blog. If he is suitable to the job. Employee can ask a help by posting message in micro blog. This work is done in micro blog in a few minute. But it takes long time in traditional enterprise communication style.

Share knowledge

People saved link of useful information in micro blog. Qualified or useful information are re posted (RT) by others.  People can search information by searching the link with tag and recognized what contents is useful (How many copied by others? How many favorite by others?)

It is different style of search. Traditional enterprise search is based on accuracy. But this search mechanism is based on relationship and reputation. Many recommended information is more useful.

Share business context

Person who is newly joined a new job or project cannot understand project status, issue etc. It needs education and time to understand context. Message in micro blog represents status and emotion of employee. Employee’s message history means history of his work. So other people understand context – “What had been going on?” “What had been happened?” “What issue was ?”

Raise relationship and develop trust

Message in micro blog is not formal form but casual form. It expresses emotional things and status. Reader can understand what he is thinking and give a comment to his current status. It leverages communication between employees. Indeed it strengthens relationships.

In structured organization it is hard to communicate with higher level manager from employee. In Micro blog system employee subscribe higher level (CXX Level) message and can understand about him, communicate with him. It helps employee reduce gap from organization.

Horizontal and opened communication

Traditionally enterprise has structured organization. Communication is established by the organization structure. It has a lot of stack. The stack makes communication burden.

As a result communication time is increased and some idea is not reached to the stake holders.

Communication in micro blog blows away this gap. Micro blog is 1:N communication. Employee can post message and get a feedback from whoever who has interest in. It changed communication style from traditional vertical style to horizontal and opened style.

Opened communication is objectives what every company want to achieve.  It reduces communication time and share idea easily without organization wall.

Near Real Time communication

With mobile device support and async communication basics micro blog supports near real time communication without place & time restriction.

Micro blog in enterprise for external communication

So what about external communication tools for enterprise with micro blog? Already many company uses twitter.com for their marketing purpose. For example Amazon.com posted their news to twitter first not a formal media (News paper etc)


Provide product information and event information.

Communicate with Customer.

Company analyze customer trend by analyzing twitter message. Get a feedback about their service and product.

CEO of Doosan group uses Twitter.com very well.

Here is episode about company marketing.  One of customer’s children wants to get a Doosan excavator model.  The customer simply post his thinking to Twitter and shared with CEO of Doosan. So he really sent Doosan excavator model to the customer.

This episode was posted many blogs and re-tweeted many time. As a result Doosan can advertise name value of company and their excavator  with just one excavator model price and without any marketing budget, any agency.


There can be many other usage of micro blog for external communication in enterprise. But this document focus on internal usage of micro blog enterprise. So I will not mention about external communication with micro blog anymore.

In next article i will introduce enterprise micro blog adoption strategy. (Architecture, Challenges, Implementation process)

Micro blog(Twitter) in Enterprise #1 September 28, 2009

Posted by Terry.Cho in Enterprise 2.0, Micro blog.
Tags: , , , , ,
1 comment so far

Micro blog in enterprise – #1

(Analyze common micro blog system)

Terry.Cho (byungwook.cho AT ORACLE DOT COM)

Most famous micro blog Twitter.com started service from 2006. And now number of monthly visitors exceeds 182 billion people. It impacted 2008 US election and Iran election. This article analyzes micro blog service in WEB 2.0 sphere and suggests strategy to adopt micro blog to enterprise.

Micro blog


Micro blog is very simple 1:N communication system. Microblogging allows people to send brief text updates to stay abreast of activities within a group by receiving frequent published updates, typically of 140 characters or less. Basic mechanism of micro blog is author post short message and other user subscribe the message by “Following” the author. This is difference with other messaging system. In case of email and IM, author choice subscriber. But in micro blog,  subscriber choice author. So message written by author is not for specific people but for anonymous. It also has filtering mechanism. For example micro blog commonly use “Hashtag”. Author post message with this hashtag. So the other user can search message which he has interest in with this hash tag like keyword.

What do people do with micro blog?

Why people use micro blog. We have to consider this. Followed by report from “Consumer Internet Barometer” (TNS and The conference Board. 2009/Q2) 41.6% of user uses micro blog for communicating with friend. 29.1% users for updating current status. 25.8% users for searching news and information.


Figure 1.Why people use twitter? (Source:“Consumer Internet Barometer” from TNS and The Conference Board”)

This means 70% of users are using twitter for managing personal network. Human network management and communication are main purpose. It is emotional perspective object not a reasonable perspective.

Here are some scenario about effect of micro blog.

Message in twitter has the other value. It is about “What I am thinking about? What is my status?” It can be a information to others. For example a user has interest in WEB2.0. He will write a message with external link for the information with hash tag. He will gather the information If another user want to get a WEB2.0 information. He will search WEB2.0 in twitter. The search results provides external link about WEB2.0. One of interest thing is if some information is useful (external link) many other user saved link. It shows quality of search result.

If a user wants to find expert ,he can search people who wrote message related in the issue. And then review his history. “What he did”, “What his interest” by doing this the user can find expert. Finally send message to the expert and can make a relationship with the expert.

The other usage of micro blog is by analyzing hash tag or re-tweet we can aware trend. Many announce tags and re-tweeted message means many people have interest in the issue.

Twitter is very simple communication tool. Just posting message and subscribe. But as I mentioned above its potential is very high. It is a reason why people is raving in twitter.

Success factor of twitter

Even though we already have alternative messaging solution like email, phone, IM, why micro blog is getting popular? Here are reasons.

Easy to use

In emai,l to send a message “start email client” à “Log in” à “Write button” à “Select receiver” à “Write title” à “Write mail” à “Press send”

In micro blog “launch micro blog client” à “automatically login” à “write message” & enter or in your mobile phone “write message” à “press send”. It is very simple and very easy to use.

Can use anywhere anytime

One reason of popularity of micro blog is free from place and time. Mobile device enables this. User can post and read status anywhere anytime by using mobile device. Furthermore smart phone provides rich user interface like desktop application. User posts status with photo with smart phone. It enriches quality of message. Message length constraint of mobile device and asynchronous messaging of mobile text message goes well to micro blog.

Near real time

Message of micro blog is 140 text characters and with mobile support it is free from place and time. So user can update the status frequently and the content is real time. For example airplane crash news in Hudson River in US was happened in 2009. User takes photo with mobile phone and post a message on Twitter. The other user re tweet this message. The news is spread very quickly. Formal medias (Newspaper, TV) news are beyond twitter.


Photo posted in Twitter with Hudson plane crash news by citizen

Support Open API

As I mentioned above, micro blog is very simple system but has a lot of potential. Open API exposes this potential to outside and makes a value. By mashing up micro blog with other WEB2.0 applications new value is generated.

By using Twitter Open API TweetStats.com and HashTags.com analyze RT & HashTag and make a trend report. It is a case of re-use of information in Twitter with Open API.


We have reviewed success factors of micro blog. Even if it is very simple system it has a little difference in communication. Basically it is 1:N asynchronous communication with short message. That is free from place and time restriction. It expresses current status and emotions with near real time. Sometimes it doesn’t have any specific objectives. But the twit message can be useful information to others.

Here is summary table about difference with other communication tools.


Common Micro blog architecture

Commonly micro blog system has 6 components.


(1)   Authentication

It handles user authentication for logging.

It also provides integrity with other authentication system like Open Id. And support Open API authentication and id mapping. For example user can change status of Facebook with Twitter message. It needs integration between facebook and twitter.

(2)   Search Engine

Find user. Find message with hash tag etc.

(3)   Posting System

Manage messages in micro blog system. Micro blog system is not complex. But it has a lot of transaction. User posts short message frequently. And search message often. So performance and capacity is important

(4)   Link (Shorten)

Micro blog has message length restriction to support SMS. So it is hard to use original HTML link in the message. (It can be very long..) So micro blog system supports “Shorten” . It is alias of URL. It shorten the long URL to aliased short URL.

(5)   Mobile Gateway

To integrate with mobile device. Mobile gateway is required. Depends on mobile phone ,mobile gateway supports Text based SMS, Image based MMS, and custom protocol(Like REST and WebService) with TCP/IP for smart phone application.

In addition mobile career vendor provide different integration interface. So micro blog system has mediation layer for converting internal protocol to career supported protocol.

(6)   Open API

Expose micro blog functionalities to external applications.

Architecture of micro blog system is not complex. But because it has a lot of transaction and provide connectivity for integration(OpenAPI) the system should have high performance requirement and capabilities & scalability.

SDP(Service Delivery Platform) Intro-from SOA perspective September 15, 2009

Posted by Terry.Cho in Architecture, SDP.
Tags: , , , ,


Common Telecom trend is Service Delivery Platform (SDP).

Telecom system has two challenges. Their business and technical platforms are changing very quickly. During few years they have been have a lot of platforms like Google Android, Microsoft Windows Mobile, Apple IPhone,Black berry,Symbian platforms. And service is extended from simple voice call & SMS to Multimedia service, application, Location based service etc. Following these business change they have to develop new application and integrate with legacy applications. Because telco has a lot of protocols and network layers (SIP,Paray-X,VoIP etc). Integration is getting more harder and complex. So they now need integrated and unified service platform to adopt business change quickly. This is the reason why SDP is required.

SDP is “Telco specific version of SOA”.

Concept of SDP is very simple. It exposes capability of system with unified interface. It reduces integration costs and let telco company to adopt new requirement quickly.

In addition by providing common services like billing,charging,logging, it removes duplication in implementation. This concept is exactly matched with SOA. So we can call SDP to “Telco specific version of SOA”. Only difference of SDP between traditional SOA is SDP requires network abstraction layer. In traditional SOA we had service enablement layer. It changes legacy protocol (SAP,MQ,Sieble) to unified SOA platform(Webservice etc.). It has been implemented with Adapters (JCA) or Other service enablement layers. In same way SDP has same abstraction layer. If traditional SOA communicated with legacy APPLICATION, SDP communicated with legacy NETWORK APPLICATION (SIP application, SMSC application, Paray-X based Application etc.). So in SDP there is network abstraction layer with network adapters.

Another difference between SDP and traditional SOA is SDP is B2C system (Service system). Traditional SOA is commonly designed for internal enterprise. SDP provides service to end user device (Mobile device, IP TV, Voip phone etc). So SDP covers more number of users than enterprise system and requires more faster response time. And message flow is more simpler than enterprise. As a result SDP has to have simple architecture to support fast response time, huge scalability.

Common architecture of SDP

Let’s think about common SDP architecture. SDP has 3 layers in the internal.


Ÿ   Service enablement layer

Network based application like SMS,VOIP has own protocol. Service enablement layer abstracts this network application and expose the capabilities with unified message protocol. By doing this user easily can use network based application without telco specific technology.

Service enablement layer also covers legacy integration. SDP can be integrated with legacy business system. For example Billing and Charging system in SDP can be integrated with Financial modules in ERP system. So Service enablement layer expose capability of legacy business system.

As a result the service enablement layer abstracts all of technical differences and let user can see the legacy components with same way.

Ÿ   Service component

Service component is software system that provides capabilities. Like SOA services. In SDP we have common services for telco system.

For example Contents Management, Billing, Charging & Rating, User Profile Management, Location Based Management. These components are implemented over specific vendor solution.

Commonly customer already has the service components. In that case abstract legacy service component and delegate the service in this service component layer.

Ÿ   Service exposure

Service components are exposed by this layer. This layer provides infrastructure of service.

For example it orchestrates existing services and make a new function. Mediate existing service. I will not describe this layer detail because this layer is same as traditional SOA concept (Orchestration with BPM, Mediation & single entry point with ESB etc)

Oracle solution mapping

Oracle has products that implements SDP.

SOA suite

For service exposure and service component development SOA suite is right for the requirements.

Oracle Service Bus is positioned for single entry point of SDP. And it enables service mediation. Complex service orchestration and long running process is implemented with Oracle BPEL/PM.

Oracle BPEL/PM also used for legacy system integration with various legacy adapters.

Oracle Coherence is used for storing & caching data. It is useful to manage & caching user profile data.

ODI is used for data provisioning between service components. And also can be used in contents provisioning.

Oracle WebLogic Server is used for component implementation with middleware features. It hosts component.


It is used as network adapter in SDP. It supports specific telco protocol and expose the service to SOA platform. It also supports partner management and billing etc. Some capability can be duplicated with SOA platform or legacy business application. In that case based on business scenario, design should be considered.


Like OCSG it enables network abstraction. But it just support SIP based application.


Common problem in SDP project is nobody can define SDP. SDP is de-facto standard. There is no standard reference architecture. So definition of SDP is different depends on industry. (Mobile, IPTV, VoIP etc.)

Think about SDP simple. SDP is telco specific SOA. It needs network adapter in addition to traditional SOA. And it is B2C system. It means it requires more concurrent user , faster response time and more simple architecture (message exchange format) than enterprise system. After understanding these characteristics of SDP, SDP is not hard to understand anymore.

Opensource CMS. August 28, 2009

Posted by Terry.Cho in Enterprise 2.0.
Tags: , , , ,
1 comment so far

Nowdays i’m looking at Oracle Enterprise 2.0 products like Enterprise portal and Universal contents management.

This combination is great. By integrating two products , enterprise can share document easily thru portal.
I found similar solution in opensource. Liferay portal is most popular opensource portal. But i haven’t seen opensource CMS. I found it today.


A few month ago i saw ETL(Extract Transfomration Loading) solution – ODI. I also found opensource ETL solution (Talend). Opensource is now getting stronger. But i don’t know why korean company doesn’t try to use the opensources.

Grey zone August 20, 2009

Posted by Terry.Cho in Software Engineering.
Tags: , , ,
add a comment

During reading some article in a blog. I found very interesting term “Grey zone”

I like this term and decide to use.
During IT project, “Grey zone” is occurred usually. It is “Everybody know that they have a problem. But it is not clear and ambiguous. Nobody try to solve the problem. Just ignore and leave them.” That is “Grey zone”. It commonly be a big problem at end of project. This problem is caused by ambiguous role definition and losing a context.

Customer wants to solve the problem but don’t know about that exactly. – “What is the problem? and Who has a responsibilities about the problem?”. If customer asks the problem to project team member. They don’t want to mention it or don’t provide exact information. They are afraid that can be a new task or burden for them. So they try to hide them.

To solve this “Grey zone” problem, consultant is very useful.

  • Consultant doesn’t have any responsibilities to solve the problem.
  • Politically Consultant is neutral.
  • Consultant has a fame or reputation from their title or their company. So their suggestion has more value than other stake-holder’s suggestion.

To solve the “Grey Zone”

  • Catch the problem and cause
  • Provide a few solutions
  • Let customer select the solution.

As a result, solving the problem is customer’s responsibility.  In my experience all of customer know that they have a problem but don’t know exactly what they have to do. The problem is hide behinds of many wall that made by project team and politicians. Role of consultant is that get rid of the wall and show naked problem to customer.

Absolutely during solving the problem many stakeholders try to defense them. We need some skills to overcome this.
My recommendation is “Data”,”Documentation”,”Presentation”.
Gathering data , make a document and present it in front of stakeholders and customer. Data is objective. Brilliant presentation helps you to convince the problem. Finally you can give a sword that can cut the problem to customer.

Do you agree on this?
I have worked as a fire-worker in many IT project. I usually did like this and it have worked very well. So i can get a reputation from customer and raise up my consulting value.




Tuning JEE Application August 19, 2009

Posted by Terry.Cho in Performance & Capacity Planing.
Tags: , , , ,
add a comment

This is one of my famous presentation.
How to find bottleneck in JEE application. I made it a few years ago. But it works well nowdays.

ESB Design Pattern – Generic Proxy Pattern August 19, 2009

Posted by Terry.Cho in Architecture.
Tags: , , , , , , ,

Generic Proxy Pattern

The Generic proxy pattern is a design pattern for ESB to reduce factory job and provide more flexibility to ESB design. Oracle ESB has 2 service types.

  • Business Service : This service provides a delegate for the real web service. It is used as a interface for real webservice.
  • Proxy Service : This service has mediation pipeline to provide flexibility for business service access. It covers transformation, routing, adding of new functionality and sometimes includes service orchestration.

One issue in OSB design proxy service is that normally we have cross cutting concerns like logging,authentication,authorization etc. Typically in OSB, we have to implement these in each proxy service. This introduces a lot of factory work and reduces system flexibility as changing cross cutting concerns becomes more difficult.

For example, we can implement logging with a Java call out in OSB. We can put the call out  into each proxy service. If we change interface of the java-call out class, we have to change all of proxy service in the system. The Generic proxy pattern helps us to remove this factory job.

Today with introduction of WEB 2.0, there are a lot of defecto standard protocol like XML/HTTP RPC, REST,JSON etc. Sometimes SOA systems have to support these kinds of protocols.  The generic proxy pattern provides a protocol converter.

Generic Proxy Pattern is consists of four layer.


  1. Edge Proxy (Inbound) :  This is entry point of our ESB. It covers protocol conversion to internal SOA protocol. (Web service)
  2. Common Proxy : This is point to handle cross cutting concerns for system – Authorization,Authentication,Logging,Billing etc. And route the service request to appropriate local proxy.
  3. Local Proxy : It is one-to-one mapping to Business service. It can just forward request to business service. OR it contains mediation logics (Intermediary logic – Transformation, Routing, Function adding etc)
  4. Edge Proxy (Outbound/Optional) : This proxy is another edge proxy for outbound protocol conversion. This is optional. In our architecture internal protocols are integrated with webservice. This proxy is used for legacy integration.
  5. Business Service :  There is some design options.

In type of service, we can provide internal service and external service. Internal service is for internal system and it doesn’t need any security checking. The security checking is covered by firewall etc. In that case we can separate Edge proxy&Common proxy to external and internal.

In the edge proxy we can separate internal and external service with URL prefix. Http://myplatform/internal/serviceURI Http://myplatform/external/serviceURI.

And each edge proxy uses internal common proxy and external common proxy. In internal common proxy we remove security related logic & billing related logic.

Logical proxy and business service are reused same way for external and internal exposing.

Leverage communication with DDD (Domain Driven Design) August 19, 2009

Posted by Terry.Cho in Software Engineering.
Tags: , , , , ,
add a comment

I am a consultant so now days I am looking at DDD (Domain Driven Design).

One of important point in architecture analysis and design is “How to extract requirements from customer? And How to visualize the requirement by using model?” Model itself is not an objective but a tool or method. It acts as common language between stake holders. And it helps us to communicate more effetely.

Another problem in project is communication. Sometimes stakeholders (Developer, Customer, Different biz team, Analysist, Architecture) in the project misunderstand same concept to different meaning.  It makes many problem and communication cost.

Common problem of these is that “Project members don’t understand Context”. It is communication problem. If all members in the project can share the context and understand same concept as same meaning. We can prevent problem from mis-communication.

DDD is started from this concept.  Basically it describes communication way between domain(business part) and programmer (IT part).  It also explains software design pattern etc. But I have a interest in communication and how to share context etc.

Let’s summarize concept with figure.


First step. Construct main model.

First step is ‘analysis target business’. Describe business scenario and flow by using some diagram. You can use any diagram that you want like UML, BPM or Use case. But it has to be effective and easy to understand for communicating between biz part and it part.

All of biz and it people have to use same language. We call it as “Ubiquitous language” in DDD. It is business(or domain) term not a technical term. For example “JMS Queue”, “XML Message” – this is technical term. “Account”, ”Transfer” – this is business term.

Use biz term for communication!!

Another important thing is “make glossary”. Term is always important and it always be a cause of miscommunication. Even if we are using same biz term. It sometimes can be different depends on organization or role. So we have to make “glossary” It is also useful when a new member join the project. We don’t have to explain term to him but just pass glossary. I suggest use glossary in wiki pages. It is always live and easy to search. (Don’t use Excel or word document for glossary. It is a tomb of document)

After making main model and glossary we can start communicate with same language and share context.

Second step. Separate main model.

Second step,  cut the main model to small pieces with details.
Project members have a interest in just what they have to do. Main model let us to share and understand context. Sub model let us know what individual people should do.

In DDD, it uses “Boundary Context” to cut the main model. The boundary can be organization or business function or unit etc. When cutting the main model if it has a dependency to other sub model, you should include the dependency in your sub model. It makes members to recognize dependency to other biz (or sub model) in your sub model.

When we cut the model, providing traceability between models is very important. Every sub model has a relationship to main model and other sub model with boundary, dependency etc. If we do not state the relationships, somebody can lose a context from sub model.

There are many ways to provide traceability like structured numbering (1. 1.1 1.1.1 etc). But numbering is not effective. Even if it can provide traceability , ratability is low . Diagram is more effective. DDD introduces “Context Map”. It looks like mind map. It describes model and relationships between the models.

Third step. Make common model from sub models.

After cutting main model to sub model. We can understand “What is whole system to do?” (by main model) and “What is my role and boundary in the system ?” (by sub model). “Whom I have to talk with and co-work with ?” (context map)

As I mentioned between sub model , there are relationships. It tells us it can have common module.

In third step, extract common module between sub models. DDD named this common module as “Shared Kernel”. DDD guides ownership of  the “shared kernel” is teams that related the shared kernel. But I think it is very hard. People always push their role to others. My suggestion is give a role of “shared kernel” to one team specifically. And if there is some concerns or issues between the teams, Architecture Team or Project Management Office intercede it.

Keep sharing Context

Even if we made model, sub model and context map. All of them are always changing. To catch up the changed context we have to share the context continuously. It is Continuous Integration (CI). CI term is used for automated build and test automation. But in this article CI is like a review meeting. Periodically review model with stakeholders and  share the context. It let us to keep same contexts.


DDD describes about communication model and traditional software design patterns (like Gof’s design patterns) But the design patterns are already introduced by many other documents and books. I want to emphasize communication and modeling ways in DDD. Main model, Sub Model with boundary context, Context map and CI is very nice way to communication and context sharing