Mashup: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Oluwabusola Oladapo
imported>Oluwabusola Oladapo
Line 49: Line 49:


Mashup preparation can be divided into six stages
Mashup preparation can be divided into six stages
* Requirements.  In the face of an overwhelming number of applications available as content, there is the tendency to incorporate as many as possible.  However, there is the need for proper planning and identification of the applications crucial to the service that your business aims to provide.  How well these applications fit into your existing architecture is also very important, as is how much change is needed for them to fit in.
* '''Requirements'''.  In the face of an overwhelming number of applications available as content, there is the tendency to incorporate as many as possible.  However, there is the need for proper planning and identification of the applications crucial to the service that your business aims to provide.  How well these applications fit into your existing architecture is also very important, as is how much change is needed for them to fit in.
* Design.  A thorough design is important to decide the standards of the system to be produced, the various interfaces involved and how they should be exposed, the plan for sustainability and scalability and the management of the interfaces and services made available on the Web.
* '''Design'''.  A thorough design is important to decide the standards of the system to be produced, the various interfaces involved and how they should be exposed, the plan for sustainability and scalability and the management of the interfaces and services made available on the Web.
* Governance.  This involves the creation and enforcement of design time and run time policies.  The primary concern is the management of the service being provided and the composite services.
* '''Governance'''.  This involves the creation and enforcement of design time and run time policies.  The primary concern is the management of the service being provided and the composite services.
* Security Protective security policies and technology must be in place.
* '''Security'''.  Protective security policies and technology must be in place.
* Deployment This involves the selection of the appropriate enabling technology and standards, which should enhance security.
* '''Deployment'''.  This involves the selection of the appropriate enabling technology and standards, which should enhance security.
* Testing as with all software, extensive unit and integration tests must be carried out throughout the development lifecycle.  Compatibility and portability are the primary concerns here, especially since you do not have control over the quality of the application that you are incorporating.
* '''Testing'''.  as with all software, extensive unit and integration tests must be carried out throughout the development lifecycle.  Compatibility and portability are the primary concerns here, especially since you do not have control over the quality of the application that you are incorporating.


== References ==
== References ==

Revision as of 21:54, 3 August 2008

Nuvola apps kbounce green.png
Nuvola apps kbounce green.png
This article is currently being developed as part of an Eduzendium student project. One of the goals of the course is to provide students with insider experience in collaborative educational projects, and so you are warmly invited to join in here, or to leave comments on the discussion page. However, please refrain from removing this notice.
Besides, many other Eduzendium articles welcome your collaboration!



History

Technology

Mashups have received considerable attention in recent years. An enabling factor is probably the fact that Web 2.0 in the enterprise is gaining traction. Web 2.0 embodies the belief that the World Wide Web is breaking away from its origins and evolving into the next stage of human interaction with a computer and the global community. The concept encourages collaboration, reusability, personalization and standardization, which are properties that have fostered the development of mashups – one of the many trends in Web 2.0 (others include blogging, wikis, podcasting, etc). Gradually, the Web is becoming a distribution network of content and service as evidenced by mashups.

Another factor could be that Web browsers have better Ajax support, which implies increased speed. Desktop applications would be much more attractive to businesses than Web based services if the latter are extremely slow.

Also, open-source code has grown more popular. The implication is that many more people are getting involved in developing contents that can be used by the general public.

Mashup Sources

The sources of content used by mashups are disparate and often controlled by different parties. The most popular sources of mashup information are

  • Open APIs e.g. Google Maps, Amazon, eBay
  • Information feeds e.g. Really Simple Syndication (RSS)
  • XML over HTTP and web pages


API

An Application Programming Interface (API) enables the creation of a web-based mashup by providing a means of gaining access (rules and procedures) to an application or content e.g. Google Maps. This allows for compatible software. APIs should be made as simple as possible if their use is to be encouraged.

APIs can be

  • Proprietary, in which case their use would require the payment of a fee and the signing of a license agreement.
  • Open , hence available to anyone to use for free. However, there might still be binding terms and conditions, a limit to the number of calls that the mashup may make to the provider.

Popular websites that offer open APIs include Amazon.com, AOL, eBay, Google, MapQuest, MSN, Shopping.com, UPS.com, US Postal service.

The contents of a web site that lacks an open API can still be accessed via a process referred to as screen scraping, in which unstructured text is pulled from a website.

Types of Mahups

  • Consumer Mashups - mashups that combine visual elements and data from multiple sources.
  • Data Mashups - mashups that combine multiple data sources (e.g. RSS feeds) into a single data source.
  • Business Mashups - similar to consumer mashups, but solve business problems. Many enterprises are embracing mashups for various reasons. Some need their software systems to change often to keep up with the rapid rate at which their business needs change. Such businesses find mashups an attractive solution – they make use of available components that have been developed and tested, and can launch their software in shorter time as compared to if they had to build from scratch. Some other businesses do not have the resources or competences required to develop some applications and thus are eager to incorporate such.

Mashup Tools/Editors

A number of organizations have developed or are developing tools to allow users develop, deploy and share their own mashups. Some of these tools require substantial programming skills, while others require none at all.

  • Pipes, a free online service released by Yahoo in February 2007, allows the creation of mashups using a visual editor. It requires no coding, you simply drag and drop data sources and operators onto the workspace and connect them.
  • QEDWiki which stands for Quick and Easily Done Wiki, is a wiki based mashup maker developed by the IBM Emerging Internet Technologies Group and aimed at building enterprise mashups.
  • Popfly was developed by Microsoft and launched in May 2007. It is a simple tool built on Silverlight technology and has a mashup creator which allows users to combine pre-built blocks to create web services. The tool can be used by non-programmers.
  • Serena Business Mashup, which is a mashup tool designed for creating visual models of automated business processes and tying these to existing services or applications. The mashup suite provides a visual development environment for building a model of the mashup, and then connects the output to back-end systems within the firewall, publishing the results to a Mashup Server, or publishing to the cloud by subscribing to Serena's software-as-a-service (SaaS ) hosted offering.
  • Google Mashup Editor developed by Google is still being tested and access to the software is limited to a small number of developers. It allows the creation of mashups using popular technologies such as HTML, Javascript, CSS and XML.
  • Mashup Server 6.2 by Kapow is a software that presents data from various sources.
  • WebCenter Suite developed by Oracle is a tool used by developers to build mashups.

Examples

Designing Mashups for businesses

Special consideration needs to be given to mashups developed for businesses, especially businesses with sensitive data. With the plethora of services that could serve as mashup content available on the World Wide Web, some concerns arise. First, designing your enterprise’s systems to allow incorporation of services and applications outside your enterprise. Second, designing your firewall to allow you to access these services and applications without compromising your security.

Mashup preparation can be divided into six stages

  • Requirements. In the face of an overwhelming number of applications available as content, there is the tendency to incorporate as many as possible. However, there is the need for proper planning and identification of the applications crucial to the service that your business aims to provide. How well these applications fit into your existing architecture is also very important, as is how much change is needed for them to fit in.
  • Design. A thorough design is important to decide the standards of the system to be produced, the various interfaces involved and how they should be exposed, the plan for sustainability and scalability and the management of the interfaces and services made available on the Web.
  • Governance. This involves the creation and enforcement of design time and run time policies. The primary concern is the management of the service being provided and the composite services.
  • Security. Protective security policies and technology must be in place.
  • Deployment. This involves the selection of the appropriate enabling technology and standards, which should enhance security.
  • Testing. as with all software, extensive unit and integration tests must be carried out throughout the development lifecycle. Compatibility and portability are the primary concerns here, especially since you do not have control over the quality of the application that you are incorporating.

References