Google Answers Logo
View Question
 
Q: Adapting and integrating software components ( Answered 4 out of 5 stars,   2 Comments )
Question  
Subject: Adapting and integrating software components
Category: Computers > Programming
Asked by: jaytee50-ga
List Price: $100.00
Posted: 20 Jan 2006 02:43 PST
Expires: 19 Feb 2006 02:43 PST
Question ID: 435735
I am looking to identify e-business application development tools that
can improve the adaptation and integration of existing software
components.

The objective of this is to reduce time-to-market and overall
development costs of e-business applications by efficient reuse of
software components.

I am aware that the concept of Component Based Development (CBD) has
been around for a number of years and that ?traditional? approaches to
CBD include writing ?wrappers? to eliminate mismatches between
components.  This is fine for certain simple solutions but it can mean
heavy code overhead and often degrades the target component-based
system.

I am also aware of examples such as UNIFACE, which is a development
ENVIRONMENT by Compuware :
http://www.compuware.co.uk/products/ecommerce/timetomarket.htm - This
approaches the problem by providing a framework for developers to
create components which are built with reuse firmly in mind.  While
this is useful from a standing start it does not appear to address the
situation where large component libraries have already been built up
(and not necessarily designed with reuse in mind).  So ? this is NOT
the area I am looking to be addressed.

What I am more interested in ? and this is key to answering the
question ? is identifying tools that can adapt existing software
components so that mismatches between them are eliminated and
integration into a target e-business system is quicker and cheaper.

I would like the question to be answered in the following format please:

Name of company providing the tool
Name of tool
URL for further information
Brief (few line) description of the tool
Pricing info

Thanks

Request for Question Clarification by answerguru-ga on 20 Jan 2006 18:49 PST
Hi there,

I have a single concept in mind that directly resolves the issues
you've mentioned, however this same architecture has been implemented
by multiple companies (I know of two offhand and there are likely
others that could be found). I could provide information in the format
you've mentioned for those two companies' products.

Would this suffice as an answer to your question?

Thanks,
answerguru-ga

Clarification of Question by jaytee50-ga on 23 Jan 2006 01:10 PST
Hello,

Thanks for your interest in this question.

When you use the words "concept" and "architecture" then that (maybe
wrongly?) makes me think that you might be thinking of something like
the 'Reusable Asset Specification' recently approved by the Object
Management Group or even things like COBRA, COM or JavaBeans?

Just to be absolutely clear, I am looking for a 'tool' that can adapt
existing software components so that mismatches are eliminated and
they can be integrated easier into a target application.  I am not
looking for standards and frameworks that components can be built to
to make reuse easier.  I am interested in the situation where
components have been developed without reuse in mind so that
adaptation is necessary.

So if you know of companies that offer tools that can adapt software
components to make integration easier - then yes - that's what I'm
looking for.

Thanks

JayTee

Request for Question Clarification by answerguru-ga on 23 Jan 2006 06:31 PST
Hi again,

Yes, then we do appear to be on the same page. The software that these
companies provide do precisely what you are looking for: "offer tools
that can adapt software components to make integration easier".

I will begin work on your question shortly.

Thanks,
answerguru-ga
Answer  
Subject: Re: Adapting and integrating software components
Answered By: answerguru-ga on 26 Jan 2006 00:49 PST
Rated:4 out of 5 stars
 
Hi JayTee,

 Upon reading your original question, I had the distinct feeling of
having been in the same place that you appear to be. It has become
quite common for a company to desire the easy reuse of existing
services, applications, components, and systems. Up until fairly
recently, the problem has been that the only feasible solution to this
quandry would be to "wrap" all existing components so that they can
interface with one another.

 The approach to this problem which, in my experience, minimizes
rework involves the use of SOA (Service Oriented Architecture) and the
so-called ESB (Enterprise Service Bus).

A concise discussion from Sonic Software around the definition of a
service oriented architecture can be found here:
http://www.sonicsoftware.com/solutions/soa_enterprise/service_oriented_architecture/index.ssp

"The W3C Web Services Architecture Working Group defines SOA as a form
of distributed systems architecture that is typically characterized by
the following properties:

Logical view: The service is an abstracted, logical view of actual
programs, databases, business processes, etc., defined in terms of
what it does, typically carrying out a business-level operation.

Message orientation: The service is formally defined in terms of the
messages exchanged between provider agents and requester agents, and
not the properties of the agents themselves.

Description orientation: A service is described by machine-processable meta data.

Granularity: Services tend to use a small number of operations with
relatively large and complex messages.

Network orientation: Services tend to be oriented toward use over a
network, though this is not an absolute requirement.

Platform neutral: Messages are sent in a platform-neutral,
standardized format delivered through the interfaces."

Here is another discussion on the same topic from HP, focused on the value of SOA:
http://devresource.hp.com/drc/columns/col0405a.jsp

Here are some of the highlights from the above article:

"SOA is more than a group of web services or any other specific set of
technologies: it's an architecture.

In SOA architecture, all functions are aggregated as reusable
services, each of which is defined by a service interface. SOA is the
contract to identify the services, and it contains rules to access
them. All request and response data, exception conditions, and
functionality must be listed as part of this interface. Service
contracts are designed to be coarse-grained, where the interactions
package several function calls and responses into fewer, but larger,
messages.

All services are abstracted from the internal design that achieves the
results for the services. The interface should have sufficient
information for a service to be identified and used without needing to
know about its internal design, language, or platform implementation.
A loosely-coupled design also means that services are designed for no
particular service consumer. The information carried by the service
should be agnostic to the purpose and technical objectives of the
service consumer."

The other piece of the puzzle is the Enterprise Service Bus (ESB),
which is a specific segment of the EAI market. It uses an SOA to
facilitate business process management.

An article from Microsoft gives a fairly good understanding of how
this concept has evolved and has been interpreted differently by
various vendors:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS_2004WP/html/47850cbd-63ed-4370-a467-6bd320636902.asp

I wanted to give you some background on the ideas prior to providing a
list of products. That being said, here are the specifics to address
your query of specific products. There are numerous others popping up
out there but these are two that I have seen in action and that are
relatively reasonably priced:

Product #1: 

Company: Sonic Software (http://www.sonicsoftware.com)

Product Name: Sonic ESB

Product Information: http://www.sonicsoftware.com/products/sonic_esb/index.ssp

Description:

"Sonic ESBŪ is an enterprise service bus which simplifies the
integration and flexible reuse of business components using a
standards-based, service-oriented architecture (SOA). Free of the
inflexible and costly customization required by other middleware
technologies, the Sonic ESB lets architects dynamically configure the
reliable connection, mediation and control of services and their
interactions.

Sonic ESB spans clusters and security infrastructures to form a
federated environment which can be managed from any point.
Configurable service interaction eliminates hard-wired dependencies,
so the Sonic ESB makes it easy to deploy initial projects and, without
disruptive recoding, swiftly evolve, scale and extend them throughout
the enterprise."

Pricing Info:

The Sonic ESB is available in the following packages to suit different
requirements:

Sonic ESB Enterprise Edition license - pricing is per CPU deployment
Sonic ESB Continuous Availability Edition - pricing is per primary CPU
deployment license
Sonic ESB Remote Site Edition license - pricing is per CPU deployment
Sonic Workbench development license - pricing is named-user

Evaluation versions of products are all available and pricing is not published.

Additional Information:
http://www.sonicsoftware.com/products/docs/sonic_esb.pdf
http://www.sonicsoftware.com/products/docs/soa_suite.pdf
http://www.sonicsoftware.com/products/docs/workbench.pdf


Product #2: 

Company: SeeBeyond (now subsidiary of Sun Microsystems) (http://www.seebeyond.com)

Product Name: SeeBeyond Integrated Composite Application Network (ICAN) Suite

Product Information: http://www.seebeyond.com/software/ican.asp

Description:

"The key to improving operational performance is rationalizing and
extracting greater value from existing technology assets in place.
Successfully building an integrated composite application network
(ICAN) across disparate enterprise ecosystems creates a business-value
engine generating competitive advantage through increased revenue,
lower total cost of ownership (TCO), faster time to market, more
flexible responses to changing business conditions, and higher
customer and partner satisfaction. The SeeBeyond ICAN Suite allows
organizations to make better use of systems already in place,
connecting seamlessly with partners, suppliers and customers, and
automating core business processes to dramatically improve
operations."

Pricing Info:

Not published, as it varies on your requirements. You can schedule an
appointment with a SeeBeyond Technology Expert to find out the most
appropriate solution:
Telephone: (800) 425-0541
Email: info1@SeeBeyond.com

I hope the information above meets with your satisfaction - if you are
unclear about anything above please post a clarification and I will do
my best to respond in a timely manner.

Cheers!

answerguru-ga
jaytee50-ga rated this answer:4 out of 5 stars
Thanks for your efforts answerguru - I found your information helpful
in my overall search - much appreciated.  Thanks also to kindageeky
and adrianw for taking the time to leave comments.

Comments  
Subject: Re: Adapting and integrating software components
From: kindageeky-ga on 23 Jan 2006 01:21 PST
 
If I had to solve your problem, I would do it with software from and
EAI vendor or BPM vendor ... the key enabler is that both of these
types of software tend to support introspection of components /
services so that disparate applications and technology platforms can
communicate.  Many of these support visual authoring of processes
across such components, but at the end of the day there is NO solution
that will not require some configuration and / or code to make
interactions seemless.  The best technology I've seen in the BPM space
is Fuego, with no close peer.  The best technologies IMHO in the EAI
space are webmethods and tibco.

Another alternative is to expose components as web services or as
clients of a message bus ... for high performance and reliable
messaging, avoid a web service implementation until the cross-platform
issues improve unless you also introduce an enterprise service bus
(basically an EAI or messaging product that has rich WS support).

Messaging is the easiest / fastest thing to do if you have budget
limitations, as most of the EAI / ESB / BPM solutions run around $100K
per CPU.  In my opinion, JMS is your best bet as an integration layer,
and there are numerous open source options in this space, with JBoss
supporting high availability clustering automatically.
Subject: Re: Adapting and integrating software components
From: adrianw-ga on 03 Feb 2006 06:06 PST
 
Company: Nirva Systems
Name of tool: Nirva
URL for further information: http://www.nirva-systems.com/

A relatively new product that can provide the solutions that you seek
is Nirva, available from Nirva Systems.
 
Nirva is an SOA (Service Oriented Architecture) product and has been
used successfully in a number of organisations to integrate disparate
components. Once a Nirva "service" has been written for a given
technology (a legacy application, a software product, a network
function or anything else one can think of), that technology's
functionality becomes easy to integrate into any application. Such
applications will frequently be web applications but can just as
easily be batch or thick client applications.
 
In addition, Nirva has built-in functionality that allows any
application to be exposed as a web service adding yet more
flexibility.
 
For more information, visit the Nirva Systems website at
http://www.nirva-systems.com/

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy