A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki...
-
Upload
caitlin-nelson -
Category
Documents
-
view
214 -
download
1
Transcript of A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki...
A Scalable Application A Scalable Application Architecture for composing News Architecture for composing News
Portals on the InternetPortals on the Internet
Serpil TOK, Zeki BAYRAM.Serpil TOK, Zeki BAYRAM.Eastern MediterraneanUniversityEastern MediterraneanUniversity FamagustaFamagustaTurkish Republic of Northern CyprusTurkish Republic of Northern Cyprus
OverviewOverview
• Using WEB services to provide content for news portals
• Tool for uploading content to each WEB service independently
• Web Application (News Portal) that queries Web Services based upon the user’s preferences and presents customized content
• Implemented in Microsoft .NET framework• Not a new idea in itself, rather an application of
existing technology to a real-world situation• If developed further, could be the basis of
customizable news portals
XML Web ServicesXML Web Services
• A kind of remote procedure call• Allows the composition of applications from components
that are physically in different locations on the Internet• Generally use SOAP (Simple Object Access Protocol)
for communication with clients. Others are HTTP GET and HTTP POST
• Extends distributed computing to a broad range of client applications.
• With proper tools, very easy to design and use.
Components of the projectComponents of the project
• A News Portal Site, implemented as an Asp.Net Web application
• A Windows Application for reporters, used to upload content to a Web service
• XML Web Services which expose news content to portals through a well-specified interface
• DBMS ( Ms SQL Server 2000) to store news content
The Architecture of the ProjectThe Architecture of the Project Newsportal WebSite
(.aspx)
XML Web Service
(.asmx)
XML WebService
(.asmx)
Database1
Database 2
Windows Application for
Reporter (.cs)
Windows Application for
Reporter (.cs)
Reporter provides news
Reporter provides news
Internet User
Uploading news to a news Web Uploading news to a news Web ServiceService
Using the Windows application, each reporter can• Compose and edit a news item• Upload his news item to his dedicated database• Manipulate the contents of his database, for example,
see a listing of articles, remove articles, modify articles
Rudimentary tool, designed as a proof of concept
Screen-shot of the Windows Screen-shot of the Windows applicationapplication
The NewsPortal Web ApplicationThe NewsPortal Web Application
• This is the “front end” for end consumers of the news provided by reporters
• The idea is that many others with different user interfaces but using the same data sources will be made available to users.
• Customized content • In the sample portal,
1. A user can see the most recent news of reporters covered by the portal,
2. A user can search for articles in the site 1. By reporter name,2. By category,3. By a date,4. By a Date Interval,5. By a keyword or sentence in subject,
3. Or , a user can see all reporters’ articles without any restrictions,
Screen-shot of the Entry page of Screen-shot of the Entry page of the News Portalthe News Portal
Main Search Form of the Sample Main Search Form of the Sample PortalPortal
Web Services ProvidedWeb Services Provided
Description of the Web Service Description of the Web Service functionsfunctions
• Takenews( ) WebMethod: Returns the most recent articles by the authors.
• Takereport( string no, string fname) WebMethod: This function takes two parameters: an article ID (“no”), and an author name (“fname”). It returns the article belonging to the author, and which has the specified ID (used mainly for testing purposes)
• Takesearch (string q) WebMethod: This is the most general of the Web methods: it takes a query string (whose format should naturally be known to the calling program) containing complex search criteria, and returns all articles satisfying the criteria. In a production version of the application, this would be left out! (to be replaced by more specific Web methods)
Microsoft .NET Framework Microsoft .NET Framework
• An advanced multi-language platform for software development
• Huge library consisting of thousands of classes• Visual tools for integrated program development
and testing (Visual Studio.NET)• Support for desktop applications (Windows
Forms), Web applications (Web forms, ASP.NET), Database access (ADO.NET), XML Web Services
Web Forms and ASP.NETWeb Forms and ASP.NET
• Used for the server-side part of a WEB application• Develop WEB applications as if developing desktop
application• UI components placed on a form, and event handlers
written for components• Components translated into HTML components
automatically • Some functionality delegated to the client side through
the automatic generation of scripting code to be executed on the browser (validity checking of input etc.)
Web Forms and ASP.NETWeb Forms and ASP.NET
• The transfer of the page to a remote browser not too important from a programming point of view
• Separation of the user interface and the logic of the application (the so-called “code behind” approach)
• Compiled .Net-based environment
Web Services using the .NET Web Services using the .NET frameworkframework
• Web service defined by extending a class available in the .Net framework
• Using web services involves adding a Web reference to your project, which automatically creates a local “proxy class” for the service. Any interaction with the Web service goes through the methods of the proxy class
Future WorkFuture Work
• More comprehensive Web services (larger assortment of functions)
• Subscription mechanism for Web services (only those portals who subscribe to be allowed to obtain their revices)
ConclusionConclusion
• We presented a prototype application that uses Web services and a multi-layered architecture to supply content for news portals
• Our architecture is extendible (just add more Web services) and leads to easy building of customized content for end-users
• We briefly described the advantages of using an advanced programming platform for implementing a project such as this