1 / 117

BroadVision 4.0

Learn about BroadVision—an application development framework for building secure, scalable, and flexible web solutions. Discover components, architecture, and benefits.

millsn
Download Presentation

BroadVision 4.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BroadVision 4.0 Ganesh Siddhamalli http://gsspageat.webjump.com

  2. Agenda • Introduction and Overview • BV Component - I • BV Component - II • BV Database • Targeted Content

  3. Pre-requisites • UNIX • C++ • Javascript • Basic OO A & D • Basics of RDBMS • CORBA • Basics of Web Architecture • HTTP • CGI • HTML

  4. What is BV ? • System designed for Rapid Application Development and Real Time operation of large web based business solutions. • High Transaction volumes and can easily integrated with existing systems. • Application Server + Framework + Application Development Environment. • Can Build Applications that are Secure, Powerful, Scalable and Flexible.

  5. What is one-to-one • Marketing Model • 1-1 focuses on the individual and tailors the marketing to individual’s interest and need. • The content displayed to a user can be individualized based on pre-defined rules. • These rules use the user profile or the previous visit history of the user.

  6. BV - Web Apps • Pre-built web application frameworks that can be customized to the needs. • Commerce Web App • Financial Web App • Knowledge Web App • Commerce Web App is the most mature.

  7. BV - Commerce Web • Personalization • Observed Info • Stated Info(Profile) • Transaction Info • Matching • Shopping • Anonymous & Registered • Shopping Cart • Shopping List : Shared, Personal • Search : Parametric, text, category

  8. BV - Commerce Web (..Contd) • Marketing, promotions, incentives • Discussion Groups • Alerts : Web, email & more • Transactions • Order management • Payment Processing • Pricing, shipping, handling, tax • Security • APIs

  9. BV - Commerce Web (..Contd) • Administration/ Tools • Content Administration • Reporting • Rules Administration • Template Creation • User Administration

  10. BV - Financial Web • Core Banking transactions • Bill Payment • Adapter to Checkfree’s remittance Pipeline Processing(RPP) engine for payment processing • Download data into Quicken, spreadsheets • Alerts & Stock Quotes • Customer Service • Financial Server • Sample Application

  11. BV - Financial Web • Core Banking transactions • Bill Payment • Adapter to Checkfree’s remittance Pipeline Processing(RPP) engine for payment processing • Download data into Quicken, spreadsheets • Alerts & Stock Quotes • Customer Service • Financial Server • Sample Application

  12. BV - Architecture

  13. BV Component Architecture CR CI External Services JS • JavaScript Layer • allows BV components to be used in pages • Component Reference Layer • passes messages between JS Layer and implementation • Component Implementation Layer • does the heavy lifting

  14. Benefits of BV Comp. Arch. • Abstraction • separation between application logic (scripts) and implementation (components) • Portability • scripts are portable across platforms • Performance • can architect distribution of app logic between scripts and components to optimize performance

  15. Benefits of BV Comp. Arch. (..contd) • Productivity • Component developers, script developers and GUI designers can each do their own thing. • Scalability • can add components without distributing existing system

  16. BV Arch - Components • Components are standalone entities • Components may be very light, or may represent an entire vertical slice of your system • Components may run in several different environments … interfaces are key

  17. BV Built-in Components • System • Process • Similar to Application Variable • BV stores the process data • Control Info. • Session • Logging • Logs only BV Logs • Request • Response • Error Handling

  18. BV Built-in Components • Application • Visitor • Will help to log as who, when logs to BV • Content • to create dynamic web pages • Observation • can use 3rd party Report generators • Search • Text, Content-base search • Alert • Email - HTTP Content - MIME type

  19. BV Process Architecture

  20. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server • Browser • Visitor Point of Contact with site HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB

  21. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • HTTP Server • Site’s connection with WWW • BV adds the interface that forwards visitor request to an IM running on a specific machine.

  22. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Dynamic Command Center (DCC) • UI for creating and maintaining Business Rules

  23. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • JSP Files (Page Scripts) • text file .jsp containing server-side Javascript, HTML, text, Component Reference

  24. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Interaction Manager(IM) • Comm. & Process control for handling HTTP requests • Controls processing page scripts • Controls interactions with underlying 1-to-1 servers

  25. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Embedded Javascript Engine • NS JS engine embedded directly into the IM

  26. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Script Pre-Processor • Converts a Page Script into pure SSJS

  27. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Script Cache • Cache of compiled page scripts

  28. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Component Interface Files • Defines interface between C++ and Javascript • defines methods & Attr. Accessible from pge scripts • file .jsi

  29. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Component interface Compiler • Generates C++ Source code with callbacks of JS engine

  30. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • C++ Component Files • Javascript - Visible C++

  31. Script Pre-processor JSP Files Browser Interaction Manager with Embedded Javascript Engine Script Cache HTTP Server Shared library of Components Supporting Files & Tools Component Interface File Component Interface Compiler One - to-One Server Dynamic Command Center C++ Component Files C++ Compiler DB • Shared Library of Components • Shared object libraries loaded by IM when it fires up

  32. Flow of the Application • Visitor requests for the Page from the Browser • HTTP server processes request via BV CGI or NSAPI interface, connects to IM • IM gets path from CGI environment and validates it • IM checks script cache for a compiled script • if no script, IM runs pre-processor and caches compiled script

  33. Flow of the Application (..contd) • IM runs compiled script in embedded JS engine • Embedded JS engin processes component invocation • IM sends back result to HTTP server • HTTP server delivers HTML page to server.

  34. Interaction Manager • Manages application requests from site and returns the requested information • Maintains association between visitors and browser requests • Loads and runs scripts • Works with secure HTTP servers to process encrypted information • Maintains conn. between app and BV servers. • Manages caches(profiles, content, categories, scripts)

  35. Interaction Manager (..Contd) • Multi-threaded Process • connection Manager handles multiple, simultaneous tasks • Requests are sent to the connection Manager, which tracks the status of the various engines • IM can run multiple engines to distribute the workload. • It is scalable and is limted only by the hardware of the host machine.

  36. BV Components

  37. BV Component • What is a BV Component • How to Use BV component • Commonly used BV Components

  38. What is BV Component • BV does everything with SSJS. • All the Javascript components are executed in IM. • The Javascript layer of the BV architecture allows BV components to be used in Javascript scripts.

  39. What is BV Component (..contd) • All the dynamic page scripts utlize Javascript Components exclusively. • All Presentation logic should be performed in the Javascript Layer and not the business logic. • Sorting and searching, you should write in C++ rather than Javascript.

  40. What is BV Component (..contd) • Javascript Componet Prefix • BVI • C++ Components Prefix • BVC

  41. How to use BV Component • Creating BV components is done via the new keyword rather than accessing creator method : • var oContMgr = new BVI_ContentManager(“on_line”); • oCont = oContMgr.contentbyQuery(…);

  42. BVI_Request BVI_Response BVI_Session BVI_Visitor BVI_Properties BVI_Content BVI_ContentList BVI_ContentManager BVI_Category BVI_Multivaluetable Commonly Used Components

  43. BVI_Request • Why Use it ? • Get values sent from client • Get values sent from web server • Encode special characters in URLs • Where to Use it • Whenever the input from the client or web server is required.

  44. BVI_Request (…Contd) • How to Use it • Instantiating a BVI_Request obejct • automatically instantiated by BV once for each JSP • Object Name : Request • Globally vailable within all SSJS functions • Get variables sent from client in <Form> tages or URL arguments • Use .value() or .values() accessor methods • Pass in name as a string • Receive back the value as a string or BVI_StringList • .url_encode() to escape the special characters in url’s before placing on HTML page.

  45. BVI_Request (…Contd) • How to Use it • Examples • var firstname = Request.value(‘first_name’); • var listcolors = Request.values(‘colors’); • Add new ites to Request Object • Request.add_attribute(“tempval”,”5”); • CGI Environment Variables • HTTP_COOKIE, HTTP_HOST • var cookies = request.HTTP_COOKIE; • will return the string and will have to parse the string.

  46. BVI_Response • Mirror image of BVI_Request • Way to communicate back to the client. • Whatever goes into Response buffer gets passed back to the web server and passed back to the client. • Why Use it ? • Send output to client • Redirect page processing flow

  47. BVI_Response (…Contd) • Where to Use it ? • JS routines that directly write output to the output buffer. • The HTML is wrapped up into a Response.write automatically by BV. • Instantiating a BVI_Response Object • automatically instantiated by BV once for each JSP • Object name : Response • Globally available within all SSJS functions

  48. BVI_Response (…Contd) • Send output to the client • Response.write(‘Last Name: ’+lastname); • Redirect Page Processing • .localRedirect() • pass relative file reference • Do not pass any query string parameters • Session and Request objects are preserved • BV processes redirection on server • Use Return() to halt processing of currect page. • Client’s URL doesn’t change. • Response.locatRedirect(‘main/home_page.jsp’);

  49. BVI_Response (…Contd) • Redirect Page Processing • . redirect() • pass full URL : ‘http:[//server]/path/filename?query’ • Results in additional call to serverr by client • Client’s URL changes • Response.redirect(‘http:/bin/my_im/main/home_page.jsp’); • If no server name is used, by default, the browser will use the last referenced server.

  50. BVI_Response (…Contd) • .redirect() and .localRedirect() flush the headers before redirecting • HTTP header can be used to set cookies on the browser. • If you set a cookie on Page ‘A’ then redirec to page ‘B’ the cookie is lost from the HTTP response header.

More Related