[AI] (Tech Dose of the day) Payment Gateway, WPF, CAPTCHA, ColdFusion, SAN, Mashups, Microsoft Message Queuing (MSMQ), FASTCGI, SOA, Aggregator and much much more!

vishnu ramchandani vishnuhappy at yahoo.com
Mon Jan 28 00:31:33 EST 2008


Tech Dose of the Day

Payment
Gateway, WPF, CAPTCHA, ColdFusion, SAN, Mashups, Microsoft
Message Queuing (MSMQ), FASTCGI, SOA, Aggregator, etc.

Contributed by M&E (Media & Entertainment Delivery)
Group (MphasiS Software Services)

Payment Gateway  
What is a Payment Gateway? 
A payment gateway is an e-commerce application service
provider service that authorizes payments for
e-businesses, online retailers, bricks and clicks, or
traditional brick and mortar. It is the equivalent of
a physical POS(Point-of-sale) terminal located in most
retail outlets. Payment gateways encrypt sensitive
information, such as credit card numbers, to ensure
that information passes securely between the customer
and the merchant.
A payment gateway facilitates the transfer of
information between a payment portal (such as a
website or IVR service) and the Front End Processor or
acquiring bank; quickly and securely.
What is its usefulness?
When a customer orders a product from a payment
gateway enabled merchant, the payment gateway performs
a variety of tasks to process the transaction;
completely invisible to the customer. For example:
• A customer places order on website by pressing the
'Submit Order' or equivalent button, or perhaps enters
his/her card details using an automatic phone
answering service. 
• If the order is via a website, the customer's web
browser encrypts the information to be sent between
the browser and the merchant's webserver. This is
usually done via SSL (Secure Socket Layer) encryption.

• The merchant then forwards the transaction details
through to his/her payment gateway which holds the
detail of the merchant account transaction. This is
often another SSL encrypted connection to the payment
server hosted by the payment gateway. 
• The payment gateway which receives the transaction
information from the merchant forwards it to the
merchant's acquiring bank. 
• The acquiring bank then forwards the transaction
information to the issuing bank (the bank that issued
the credit card to the customer) for authorization.
• The card issuing bank receives the authorization
request and sends a response back to the payment
gateway (via the acquiring bank) with a response code.
In addition to determining the fate of the payment,
(i.e approved or declined) the response code is used
to define the reason why the transaction failed (such
as insufficient funds, or bank link not available). 
• The payment gateway receives the response, and
forwards it on to the website (or whatever interface
was used to process the payment) where it is
interpreted and a relevant response then relayed back
to the cardholder. 
• The entire process typically takes 3-4 seconds. 
• At the end of the bank-day (or settlement period)
the acquiring bank deposits the total of the approved
funds in to the merchant's nominated account. This
could be an account with the acquiring bank if the
merchant does his/her banking with the same bank, or a
scrape account with another bank.
Further References 
http://en.wikipedia.org/wiki/Payment_gateway
http://www.payment-gateway.org/

WPF  
What is WPF?  
The Windows Presentation Foundation (or WPF), formerly
code named Avalon, is the graphical subsystem feature
of the .NET Framework 3.0 (formerly called WinFX) and
is directly related to XAML. It is pre-installed in
Vista, the latest version of the Microsoft Windows
operating system.
WPF is also available for installation on Windows XP
SP2 and Windows Server 2003. It provides a consistent
programming model for building applications and
provides a clear separation between the UI and the
business logic. A WPF application can be deployed on
the desktop or hosted in a web browser. It also
enables richer control, design, and development of the
visual aspects of Windows programs. It aims to unify a
host of application services: user interface, 2D and
3D drawing, fixed and adaptive documents, advanced
typography, vector graphics, raster graphics,
animation, data binding, audio and video.
What is its usefulness?
• A set of built-in controls is provided as part of
WPF, containing items such as button, menu, and list
box. 
• A powerful concept in the WPF is the logical
separation of a control from its appearance.  
• A control's template can be overridden to completely
change its visual appearance.  
• A control can contain any other control or layout,
allowing for unprecedented control over composition.  
• Features retained mode graphics, so that
applications do not have to be bothered with
repainting the display.
Further References 
http://wpf.netfx3.com/
http://msdn2.microsoft.com/en-us/library/ms745058.aspx
http://en.wikipedia.org/wiki/Windows_Presentation_Foundation

CAPTCHA  
What is CAPTCHA? 
A CAPTCHA is a type of challenge-response test used in
computing to determine whether the user is human.
"CAPTCHA" is a contrived acronym for "Completely
Automated Public Turing test to tell Computers and
Humans Apart", trademarked by Carnegie Mellon
University. A CAPTCHA involves one computer (a server)
which asks a user to complete a test. While the
computer is able to generate and grade the test, it is
not able to solve the test on its own. Because
computers are unable to solve the CAPTCHA, any user
entering a correct solution is presumed to be human.
The term CAPTCHA was coined in 2000 by Luis von Ahn,
Manuel Blum, Nicholas J. Hopper (all of Carnegie
Mellon University), and John Langford . A common type
of CAPTCHA requires that the user type the letters of
a distorted image, sometimes with the addition of an
obscured sequence of letters or digits that appears on
the screen.
A CAPTCHA is sometimes described as a reverse Turing
test, because it is administered by a machine and
targeted to a human, in contrast to the standard
Turing test that is typically administered by a human
and targeted to a machine.
What is its usefulness?
CAPTCHAS are used by many websites to prevent abuse
from "bots," or automated programs usually written to
generate spam. No computer program can read distorted
text as well as humans can, so bots cannot navigate
sites protected by Captchas.
CAPTCHAS have several usefulness,including (but not
limited to):
Preventing Comment Spam in Blogs. Most bloggers are
familiar with programs that submit bogus comments,
usually for the purpose of raising search engine ranks
of some website. This is called comment spam. By using
a CAPTCHA, only humans can enter comments on a blog.
Protecting Website Registration. Several companies
(Yahoo!, Microsoft, etc.) offer free email services.
Captchas are used to ensure that only humans obtain
free accounts. In general, free services should be
protected with a CAPTCHA in order to prevent abuse by
automated scripts.
Protecting Email Addresses From Scrapers. Spammers
crawl the Web in search of email addresses posted in
clear text. Captchas provide an effective mechanism to
hide your email address from Web scrapers. The idea is
to require users to solve a CAPTCHA before showing
your email address.
Preventing Dictionary Attacks. CAPTCHAS can also be
used to prevent dictionary attacks in password
systems. The idea is simple: prevent a computer from
being able to iterate through the entire space of
passwords by requiring it to solve a CAPTCHA after a
certain number of unsuccessful logins. This is better
than the classic approach of locking an account after
a sequence of unsuccessful logins, since doing so
allows an attacker to lock accounts at will.
Search Engine Bots. It is sometimes desirable to keep
webpages unindexed to prevent others from finding them
easily. There is an html tag to prevent search engine
bots from reading web pages. The tag, however, doesn't
guarantee that bots won't read a web page; it only
serves to say "no bots, please." Search engine bots,
since they usually belong to large companies, respect
web pages that don't want to allow them in. However,
in order to truly guarantee that bots won't enter a
web site, Captchas are needed.
Worms and Spam:
Captchas also offer a plausible solution against email
worms and spam: "I will only accept an email if I know
there is a human behind the other computer." A few
companies are already marketing this idea.  
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/Captcha   

ColdFusion  
What is ColdFusion? 
ColdFusion is an application server and software
development framework. ColdFusion lets you create
page-based Web applications using ColdFusion Markup
Language (CFML), the tag-based language you use to
create server-side scripts that dynamically control
data integration; application logic; and user
interface generation. ColdFusion Web applications can
contain XML, HTML, and other client technologies such
as CSS and JavaScript.  
What is its usefulness?
ColdFusion is most often used for data-driven web
sites or intranets, and can also be used to generate
remote services such as SOAP web services or Flash
remoting. ColdFusion can also handle asynchronous
events such as SMS and instant messaging via its
gateway interface, available in ColdFusion MX 7
Enterprise Edition.
ColdFusion provides a number of value-added services. 
Among them:
• Conversion from HTML to PDF and FlashPaper. 
• Client-side code generation, especially for form
widgets and validation. 
• Platform-independent database querying via ODBC or
JDBC. 
• Data retrieval from common enterprise systems such
as Active Directory, LDAP, POP, HTTP, FTP, Microsoft
Exchange Server. 
• Client and server cache management. 
• Session, client, and application management. 
• File indexing and searching service based on Verity
K2. 
• XML parsing, querying, and validation. 
• Server clustering. 
• GUI administration. 
• Task scheduling.
Further References 
http://livedocs.adobe.com/coldfusion/5.0/Developing_ColdFusion_Applications/intro4.htm
http://en.wikipedia.org/wiki/ColdFusion  
http://www.tophosts.com/articles/?3016.html 

SAN  
What is SAN? 
In computing, a Storage Area Network (SAN) is an
architecture to attach remote computer storage devices
(such as disk arrays, tape libraries and optical
jukeboxes) to servers in such a way that, to the
operating system, the devices appear as locally
attached. Although cost and complexity is dropping, as
of 2007, Sans are still uncommon outside larger
enterprises.
By contrast to a SAN, Network-Attached Storage (NAS)
uses file-based protocols such as NFS or SMB/CIFS
where it is clear that the storage is remote, and
computers request a portion of an abstract file rather
than a disk block.
Some more info about SAN.-
Network Types:-
Most storage networks use the SCSI protocol for
communication between servers and disk drive devices.
However, they do not use SCSI low-level physical
interface (e.g. cables), as its bus topology is
unsuitable for networking. To form a network, a
mapping layer is used to other low-level protocols:
• Fibre Channel Protocol (FCP), mapping SCSI over
Fibre Channel. Currently the most common. Comes in 1
Gbit/s, 2 Gbit/s, 4 Gbit/s, 8 Gbit/s, 10 Gbit/s
variants.
• iSCSI, mapping SCSI over TCP/IP. 
• HyperSCSI, mapping SCSI over Ethernet. 
• FICON mapping over Fibre Channel (used by mainframe
computers). 
• ATA over Ethernet, mapping ATA over Ethernet. 
• SCSI and/or TCP/IP mapping over InfiniBand (IB). 
Storage Sharing:-
The driving force for the SAN market is rapid growth
of highly transactional data that require high speed,
block-level access to the hard drives (such as data
from email servers, databases, and high usage file
servers). Historically, enterprises were first
creating "islands" of high performance SCSI disk
arrays. Each island was dedicated to a different
application and visible as a number of "virtual hard
drives" (or LUNs). SAN essentially enables connecting
those storage islands using a high-speed network.
However, an operating system still sees a SAN as a
collection of LUNs and is supposed to maintain its own
file systems on them. Still, the most reliable and
most widely used are the local file systems, which
cannot be shared among multiple hosts. If two
independent local file systems resided on a shared
LUN, they would be unaware of the fact, would have no
means of cache synchronization and eventually would
corrupt each other. Thus, sharing data between
computers through a SAN requires advanced solutions,
such as SAN file systems or clustered computing.
Despite such issues, Sans help to increase storage
capacity utilization, since multiple servers share the
same growth reserve on disk arrays. In contrast, NAS
allows many computers to access the same file system
over the network and synchronizes their accesses.
Lately, the introduction of NAS heads allowed easy
conversion of SAN storage to NAS.
Benefits:
Sharing storage usually simplifies storage
administration and adds flexibility since cables and
storage devices do not have to be physically moved to
move storage from one server to another. Other
benefits include the ability to allow servers to boot
from the SAN itself. This allows for a quick and easy
replacement of faulty servers since the SAN can be
reconfigured so that a replacement server can use the
LUN of the faulty server. This process can take as
little as half an hour and is a relatively new idea
being pioneered in newer data centers. There are a
number of emerging products designed to facilitate and
speed up this process still further. For example,
Brocade offers an Application Resource Manager product
which automatically provisions servers to boot off a
SAN, with typical-case load times measured in minutes.
While this area of technology is still new, many view
it as being the future of the enterprise datacenter.
Sans also tend to enable more effective disaster
recovery processes. A SAN could span a distant
location containing a secondary storage array. This
enables storage replication either implemented by disk
array controllers, by server software, or by
specialized SAN devices. Since IP WANs are often least
costly method of long-distance transport, the Fibre
Channel over IP (FCIP) and iSCSI protocols have been
developed to allow SAN extension over IP networks. The
traditional physical SCSI layer could only support a
few meters of distance - not nearly enough to ensure
business continuance in a disaster. Demand for this
SAN application has increased dramatically after the
September 11th attacks in the United States, and
increased regulatory requirements associated with
Sarbanes-Oxley and similar legislation. Consolidation
of disk arrays economically accelerated advancement of
some of their advanced features. Those include I/O
caching, snapshotting and volume cloning (Business
Continuance Volumes or BCVs).
SAN Infrastructure:-
Sans often utilize a Fibre Channel fabric topology -
an infrastructure specially designed to handle storage
communications. It provides faster and more reliable
access than higher-level protocols used in NAS. A
fabric is similar in concept to a network segment in a
local area network. A typical Fibre Channel SAN fabric
is made up of a number of Fibre Channel switches.
Today, all major SAN equipment vendors also offer some
form of Fibre Channel routing solution, and these
bring substantial scalability benefits to the SAN
architecture by allowing data to cross between
different fabrics without merging them. These
offerings use proprietary protocol elements, and the
top-level architectures being promoted are radically
different. They often enable mapping Fibre Channel
traffic over IP or over SONET/SDH.
Compatibility:-
One of the early problems with Fibre Channel Sans was
that the switches and other hardware from different
manufacturers were not entirely compatible. Although
the basic storage protocols FCP were always quite
standard, some of the higher-level functions did not
interoperate well. Similarly, many host operating
systems would react badly to other operating systems
sharing the same fabric. Many solutions were pushed to
the market before standards were finalized and vendors
innovated around the standards. The combined efforts
of the members of the Storage Networking Industry
Association (SNIA) improved the situation during 2002
and 2003. Today most vendor devices, from HBAs to
switches and arrays, interoperate nicely, though there
are still many high-level functions that do not work
between different manufacturers’ hardware.
SANS at home:-
Sans are primarily used in large scale, high
performance enterprise storage operations. It would be
unusual to find a single disk drive connected directly
to a SAN. Instead, Sans are normally networks of large
disk arrays. SAN equipment is relatively expensive,
therefore, Fibre Channel host bus adapters are rare in
desktop computers. The iSCSI SAN technology is
expected to eventually produce cheap Sans, but it is
unlikely that this technology will be used outside the
enterprise data center environment. Desktop clients
are expected to continue using NAS protocols such as
CIFS and NFS. The exception to this may be remote
storage replication.
SANS in the Media and Entertainment:-
Video editing workgroups require very high data rates.
Outside of the enterprise market, this is one area
that greatly benefits from Sans. Per-node bandwidth
usage control, sometimes referred to as
quality-of-service (QoS), is especially important in
video workgroups as it lets you ensure a fair and
prioritized bandwidth usage across your network. Avid
Unity and Tiger Technology MetaSAN are specifically
designed for video networks and offer this
functionality.
Storage Virtualization and Sans:-
Storage virtualization refers to the process of
completely abstracting logical storage from physical
storage. The physical storage resources are aggregated
into storage pools, from which the logical storage is
created. It presents to the user a logical space for
data storage and transparently handles the process of
mapping it to the actual physical location. This is of
course naturally implemented inside each modern disk
array, using vendor's proprietary solution. However,
the goal is to virtualize multiple disk arrays, made
by different vendors, scattered over the network, into
a single monolithic storage device, which can be
managed uniformly. 
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/Storage_area_network
Introduction to Storage Area Networks : 
http://www.redbooks.ibm.com/abstracts/sg245470.html?Open    

Mashups  
What are Mashups? 
A mashup is a website or application that combines
content from more than one source into an integrated
experience. Usually, the mashup components interact
with each other. In the classic example of a mashup, a
Craigslist component is combined with a mapping
component (e.g., Google or Yahoo maps) such that when
a user clicks on a new Craigslist entry, the mapping
component updates its view to show the new address. 
>From a technology perspective, mashup components
represent Ajax-powered "mini applications" that are
assembled into an Ajax-powered mashup container
application that provides a framework for the
components to communicate with each other. Sometimes
the mashup container application enables cross-site
communications by providing proxy services to allow
server-side redirection to Web servers that are
associated with a given mashup component.  
How do Mashups work? 
A mashup application is architecturally comprised of
three different participants that are logically and
physically disjoint (they are likely separated by both
network and organizational boundaries): API/content
providers, the mashup site, and the client's Web
browser.
The API/content providers. These are the (sometimes
unwitting) providers of the content being mashed. In
the ChicagoCrime.org mashup example, the providers are
Google and the Chicago Police Department. To
facilitate data retrieval, providers often expose
their content through Web-protocols such as REST, Web
Services, RSS/Atom and screen scraping. In this
context, screen scraping connotes the process by which
a tool attempts to extract information from the
content provider by attempting to parse the provider's
Web pages, which were originally intended for human
consumption.
The mashup site:-
This is where the mashup is hosted. Interestingly
enough, just because this is where the mashup logic
resides, it is not necessarily where it is executed.
On one hand, mashups can be implemented similarly to
traditional Web applications using server-side dynamic
content generation technologies like Java servlets,
CGI, PHP or ASP.
Alternatively, mashed content can be generated
directly within the client's browser through
client-side scripting (that is, JavaScript) or
applets. This client-side logic is often the
combination of code directly embedded in the mashup's
Web pages as well as scripting API libraries or
applets (furnished by the content providers)
referenced by these Web pages. Mashups using this
approach can be termed rich internet applications
(RIAs), meaning that they are very oriented towards
the interactive user-experience. (Rich internet
applications are one hallmark of what's now being
termed "Web 2.0", the next generation of services
available on the World Wide Web.) The benefits of
client-side mashing include less overhead on behalf of
the mashup server (data can be retrieved directly from
the content provider) and a more seamless
user-experience (pages can request updates for
portions of their content without having to refresh
the entire page).
The client's Web browser:-
This is where the application is rendered graphically
and where user interaction takes place. As described
above, mashups often use client-side logic to assemble
and compose the mashed content. 
Technical Limitations:-
• JavaScript: Same-Origin Sandbox 
• Cannot mix everything in the browser/client
• Brittleness 
• Due to Screen-Scraping 
• In the long term Web APIs change format (without
telling the Mashup)
• Loosely Coupled 
• The mashup will not run if any of the backend API
providers are down. 
Further References 
Mashups-The new breed of Web app: 
http://www.ibm.com/developerworks/xml/library/x-mashups.html

Mashups: 
http://www.openajax.org/whitepapers/Ajax%20and%20Mashup%20Security.html#Mashups

Microsoft Message Queuing (MSMQ)  
What is Microsoft Message Queuing (MSMQ)? 
Talk of enterprise applications, things that come to
your mind are transactions, messaging etc. Talk of
messaging; what strikes immediately is MSMQ which
stands for Microsoft Message Queuing. MSMQ provides a
great framework for applications that use messaging
infrastructure.
Microsoft Message Queuing, or MSMQ, is technology for
asynchronous messaging. Whenever there's need for two
or more applications (processes) to send messages to
each other without having to immediately know results,
MSMQ can be used. MSMQ can communicate between remote
machines, even over internet. It's free and comes with
Windows, but is not installed by default.
Message Queuing (MSMQ) technology enables applications
running at different times to communicate across
heterogeneous networks and systems that may be
temporarily offline. Applications send messages to
queues and read messages from queues. The following
illustration shows how a queue can hold messages that
are generated by multiple sending applications and
read by multiple receiving applications.
MSMQ is really nothing more than a way for
applications to communicate with each other without
having to establish a direct communication link
between them. Think of it as inter-application
communication without the need for a live connection
between applications. Of course MSMQ has other
characteristics, such as guaranteed message delivery,
routing, security, and message prioritization, but
these characteristics are all in support of this core
capability of disconnected inter-application
communication.
MSMQ accomplishes this magic by accepting a sending
application's messages and placing them in a message
queue that is accessible by the receiving application.
A receiving application can connect to the queue at
any time to retrieve messages that have been left for
it, and in response it can send messages back through
the same queuing mechanism. Following figure
illustrates this process.
What is its usefulness?
Typical example of MSMQ usage would be order
processing application: orders are collected online
using web forms and by sales team using some offline
application. Order processing is slow, because third
party payment provider is used. Third party resource
can unavailable at times and we don't want that
failure to affect our application - we can delay
processing of pending orders, but new orders must be
collected.
Notification web page should be immediately displayed
to user, even if that order is processed hours later.
Sales must collect orders offline and send them to
processing later, when connection with order
processing server is available. After payment is
processed it should be enough just to send message
that shipment should be sent, and not wait for
delivery to be completed. MSMQ is ideal for these
kinds of scenarios - when applications should be
isolated and work even if other applications they
interact with are down or unavailable.
>From programming point of view, MSMQ is very easy -
applications just need to send and receive messages,
MSMQ will take care of message delivery, wait until
recipient is available, etc. MSMQ supports
transactions, if processing fails for any reason
message can be returned back to queue to be retried
later. Distributed transactions with database
operations are supported too, if COM+ is used.
Further References 
http://en.wikipedia.org/wiki/Microsoft_Message_Queuing

http://msdn2.microsoft.com/en-us/library/ms711472.aspx
http://www.microsoft.com/windowsserver2003/technologies/msmq/default.mspx
http://technet2.microsoft.com/windowsserver/en/library/1bee1f48-e2e5-4880-ac6f-f65130a6fe611033.mspx?mfr=true    

FASTCGI  
What is FastCGI? 
FastCGI is an IIS component enables popular
application frameworks like PHP be hosted on the IIS
web server in a high-performance and reliable way.
What is its usefulness? 
FastCGI provides a high-performance alternative to the
Common Gateway Interface (CGI), a standard way of
interfacing external applications with Web servers.
CGI programs are executables launched by the web
server for each request in order to process the
request and generate dynamic responses that are sent
back to the client. Because many of these frameworks
do not support multi-threaded execution, CGI enables
them to execute reliably on IIS by executing exactly
one request per process. Unfortunately, it provides
poor performance due to the high cost of starting and
shutting down a process for each request. FastCGI
overcomes this performance penalty by re-using CGI
processes to service subsequent requests, while
continuing to ensure single request concurrency.
FastCGI's advantages include -
• Performance : FastCGI processes are persistent-they
are reused to handle multiple requests. This solves
the CGI performance problem of creating new processes
for each request. 
• Simplicity, with easy migration from CGI : The
FastCGI application library (described on page 9)
simplifies the migration of existing CGI applications.
Applications built with the application library can
also run as CGI programs, for backward compatibility
with old Web servers. 
• Language independence : Like CGI, FastCGI
applications can be written in any language, not just
languages supported by the vendor API. 
• Process isolation:  A buggy FastCGI application
cannot crash or corrupt the core server or other
applications. A malicious FastCGI application cannot
steal any secrets (such as session keys for
encryption) from the Web server. 
• Non-proprietary : FastCGI is supported in all of
Open Market's server products, and support is under
development for other Web servers, including the
freely available Apache and NCSA servers, as well as
commercial servers from Microsoft and Netscape. 
• Architecture independence : The FastCGI interface is
not tied to a particular server architecture. Any Web
server can implement the FastCGI interface. Also,
FastCGI does not impose any architecture on the
application: applications can be single or
multi-threaded, regardless of the threading
architecture of the Web server. 
• Support for distributed computing : FastCGI provides
the ability to run applications remotely, which is
useful for distributing load and managing external Web
sites. 
Further References 
http://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm
http://www.iis.net/default.aspx?tabid=1000051  

SOA  
What is SOA? 
Service-Oriented Architecture (SOA) is an
architectural style where existing or new
functionalities are packaged as services. These
services communicate with each other by passing data
from one service to another, or by coordinating an
activity between one or more services. Web services
can be used to implement a service-oriented
architecture. A major focus of Web services is to make
functional building blocks accessible over standard
Internet protocols that are independent from platforms
and programming languages. These services can be new
applications or just wrapped around existing legacy
systems to make them network-enabled.
Each SOA building block can play one or more of three
roles:
• Service provider : The service provider creates a
Web service and possibly publishes its interface and
access information to the service registry. Each
provider must decide which services to expose, how to
make trade-offs between security and easy
availability, how to price the services, or, if they
are free, how to exploit them for other value. The
provider also has to decide what category the service
should be listed in for a given broker service and
what sort of trading partner agreements are required
to use the service.
• Service broker : The service broker, also known as
service registry, is responsible for making the Web
service interface and implementation access
information available to any potential service
requestor. The implementer of the broker decides about
the scope of the broker. Public brokers are available
through the Internet, while private brokers are only
accessible to a limited audience, for example, users
of a company intranet. Furthermore, the amount of the
offered information has to be decided. Some brokers
specialize in many listings. Others offer high levels
of trust in the listed services. Some cover a broad
landscape of services and others focus within an
industry. There are also brokers that catalog other
brokers. Depending on the business model, brokers can
attempt to maximize look-up requests, number of
listings or accuracy of the listings. The Universal
Description Discovery and Integration (UDDI)
specification defines a way to publish and discover
information about Web services.
• Service requestor : The service requestor or Web
service client locates entries in the broker registry
using various find operations and then binds to the
service provider in order to invoke one of its Web
services.
SOA is a design for linking business and computational
resources (principally organizations, applications and
data) on demand to achieve the desired results for
service consumers (which can be end users or other
services). 
Why SOA? 
SOA is a design for linking business and computational
resources (principally organizations, applications and
data) on demand to achieve the desired results for
service consumers (which can be end users or other
services).  
SOA Principles:
• Reuse, granularity, modularity, composability,
componentization, and interoperability. 
• Compliance to standards (both common and
industry-specific). 
• Services identification and categorization,
provisioning and delivery, and monitoring and
tracking.
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/Service-oriented_architecture
What is a SOA? : 
http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html

Aggregator  
What is an Aggregator? 
A feed aggregator, also known as a feed reader or
simply as an aggregator, is client software or a Web
application which aggregates syndicated web content
such as news headlines, blogs, podcasts, and vlogs in
a single location for easy viewing.
Aggregators reduce the time and effort needed to
regularly check websites for updates, creating a
unique information space or "personal newspaper." Once
subscribed to a feed, an aggregator is able to check
for new content at user-determined intervals and
retrieve the update. The content is sometimes
described as being "pulled" to the subscriber, as
opposed to "pushed" with email or IM. Unlike
recipients of some "pushed" information, the
aggregator user can easily unsubscribe from a feed.
Aggregator features are frequently built into portal
sites (such as My Yahoo! and iGoogle), modern Web
browsers and email programs.
The aggregator provides a consolidated view of the
content in a single browser display or desktop
application. Such applications are also referred to as
RSS readers, feed readers, feed aggregators, news
readers or search aggregators. Aggregators with
podcasting capabilities can automatically download
media files, such as MP3 recordings. In some cases,
these can be automatically loaded onto portable media
players (like iPods) when they are connected to the
PC.
Recently, so-called RSS-narrators have appeared, which
not only aggregate text-only news feeds, but also
convert them into audio recordings for offline
listening. 
The syndicated content an aggregator will retrieve and
interpret is usually supplied in the form of RSS or
other XML-formatted data, such as RDF/XML or Atom.
What are the varieties of Aggregators?
Web-based : Web-based aggregators are applications
that reside on remote servers and are typically
available as Web applications such as Google Reader or
Bloglines. Because the application is available via
the Web, it can be accessed anywhere by a user with an
Internet connection.
Client Software : Client software aggregators are
installed applications designed to collect Web feed
subscriptions and group them together using a
user-friendly interface. The graphical user interface
of such applications often closely resembles that of
popular e-mail clients, using a three-panel
composition in which subscriptions are grouped in a
frame on the left, and individual entries are browsed,
selected, and read in frames on the right.
Client Libraries : Many programming languages have
libraries that are able to download, process, generate
and upload RSS feeds. Perl for example has several
libraries in the XML::RSS name space of CPAN.  
Further References 
Wikipedia : 
http://en.wikipedia.org/wiki/News_aggregator
What is a News Aggregator? : 
http://www.scripting.com/davenet/2002/10/08/whatIsANewsAggregator.html
Some readers : 
http://blogspace.com/rss/readers


      5, 50, 500, 5000 - Store N number of mails in your inbox. Go to http://help.yahoo.com/l/in/yahoo/mail/yahoomail/tools/tools-08.html




More information about the AccessIndia mailing list