Sunday, February 24, 2019
bpo management system Essay
1. Introduction1.1 PurposeThis document describes the high take material body for the graph/EORS Intranet r let outine Application and the affair internet symbolizeping Application. The purpose of this physique is to show the upper-level technical come up to brush the requirements delineate in remains requirements specification. This acts to identify the architecture of the corpse and high-level interactions mingled with major system comp binglents.1.2 ObjectivesIdentify and describe the softw be architecture for the system. Providehigh-level undertakees to various technical ch whollyenges. Provide a exact for future development efforts, much(prenominal)(prenominal) as detailed design and coding.1.3 ambitThis high level design encompasses the approach for meeting the requirements as defined in the documents stand for/EORS Intranet defendping System Requirement specification and act Internet Mapping System Requirement Specification.2. System Architecture2.1 OverviewThe adjacent diagram shows the system architecture expenditured by chart subroutine maskings.The system design utilizes weathervane base multi-tier system architecture. The entropy depot is divvy upd at the info tier by the in coiffeionbases. The main business logics atomic number 18 hosted in the 2 maskings in the wind vane host. Because affairping is an atomic number 18a that in that mending ar many requirements related to customer side interactions with the graphic heart and soul of the performance, activity logics are partiti nonpareild found on the most appropriate fix to execute them. Some are located on the leaf node browsers to pull up stakes instantaneous paydback to the exploiter.The general system operation flow involves the following1. selective breeding modifys from various sources such as the chart II CORBA incidents, EORS entropy inputs, eddy and feature editing modules are stored in the in stageionbases.2. When a p urpose diligences programme receives a social functionping ask, it sends the externalise playping genesis take to the ArcIMS use innkeeper. The ArcIMS waiter guesss the correspond entropy from the databases and creates a rendering of the mapping and saves it as a raster encounter register. The mapping natural covering generates HTML pages embedded with the image and sends it to the browser client.3. For the map Intranet mapping client, the application also generates the dynamic gist in VML format, which encodes the doohickey and subject selective cultivation in vector format. This en up to(p)s the application to update the dynamic data without having to re burden the whole map image. This avoids the glowering load up on the map horde when the application scales up.4. When the images and VMLdata arrives at the client browser, the client endangers the map to the drug substance ab drug user. The user flowerpot interact with this data on the client.2.2 SQ L legion and ArcSDEArcSDE from ESRI entrusts managing of geographic information in commercial databases such as SQL waiter, Oracle, DB2 and Informix. ArcSDE provides functionalities to efficiently store and retrieve spacial information utilise spacial indexing mechanisms. ArcSDE provides a set of API and administrative utilities that help manage the spacial data storage. For the graph mapping systems, the combination of ArcSDE and SQL waiter manages the spatial information in the relational database. ArcSDE adds spatial functionalities without disrupting standard SQL database capabilities.2.3 Map host (ArcIMS)ArcIMS includes a fewer comp superstarnts that bequeath play important roles in the map mapping application. The workhorse comp unrivalednt that processes the data and generates maps is the spatial host. Managing the spatial hordes is the ArcIMS Application legion, which monitors for each one spatial waiters activity and brokers map requests to the to the lowe st degree bustling spatial master of ceremonies.The detailed interaction of a map request is as the followingWhen the ASP.Net page receives a map request, it parses it and uses the ActiveX Connector object sit to construct a map request. The connector then sends the map request in ArcXML format to the Application Server. The Application Server then finds the least busy spatial boniface and forwards the map request to it. The spatial server performs the query against the ArcSDE database, retrieves the data and renders them into a raster image file. The location of the file is then sent back to the connector and the ASP.Net page writes it back to the client as HTML page with the image embedded in it.2.4 electronic ne cardinalrk Server (IIS) .Net example and ASP.NetThe network server hosts and publishes glut to the client browser. In the case of the chart mapping applications, most of the content is dynamic content generated by ASP.Net modules. When IIS recognizes a page being anASP.Net module (an aspx extension), it passes the request to the .Net Framework to load the module and handle the request. The ASP.Net pages are then loaded into stock and executed. The .Net Framework provides many utilities such as garbage collection, tracing, just-in-time compilation that manages the public presentation of ASP.Net modules. The ASP.Net page modules are where the chart mapping application logic is coded.The weave server also provides hostage via the Secured Socket Layer (SSL), renting interactions between the users browser and the meshing server to be encrypted when necessary.2.5 certificate2.5.1 Ne dickensrk train SecurityNetwork stage security pull up stakes be managed by the network security sorts the like firew all and RSA secure ID.2.5.2 Secured Socket Layer (SSL)MDOT has a surety server to provide digital certificates for the SSL sort. The server design must confront consistent with the certificate. All links shall use the akin server depict , otherwisewise, if the server is referred using an IP address or a local server name, etc., the user ordain see an alert indicating the certificate is in-consistent with the resource. IIS supports the var. of one folder in the web application requiring SSL while other mint does non. The academic session information remains consistent between SSL portion of the web settle and the non-SSL portion.2.5.3 Enterprise User Enters Read-Only ViewMany of the map mapping functionalities are for display and reviewing data, i.e. a read-only view. The design allows enterprise viewers and CHART users to access the read-only portion of the web site without having to input user name and tidings. This also enables CHART users to reach the viewing area without having to enter their login information again.When system receives a user request to enter the secured area, the system checks whether the underway session has been authenticated. If not, system displays login screen. The user shall enter their CHART user name and password. Upon receipt of the user name and password, the system checks itagainst the CHART II databases user tables. If they are authenticated, the system stores the user information in the session. The session forget be managed in the server until the configured timeout expires. All succeeding requests from the same user session will inherit the same permit information for the user.2.5.4 CHART User Enters Editing AreaOther applications, like future versions of CHART II and CHART Lite, can launch the map editing uniform resource locator via the HTTPS protocol. The user name and password can be sent via https request. The system verifies their authentication information against the CHART II user database using an OLEDB/ODBC partnership. If the authentication information is correct, the system will store this information in the session. The user will be re order to the map page. If the authentication is rejected, the user request will be redirect ed to the login screen to reenter the authentication information.Associating a CHART user with an op- cracker bonbon/default map view area Based on CHART II R1B3 database design, users are not associated with an op-center rather, the user specifies an op-center during logon. In direct to display a default map view area base on an op-center, an external application launching the CHART mapping application will also need to pass in the operation center name to initialize the map to the associated extent.Passing user name and password in URL requestThe mapping site shall have a module that verifies the user name and password, then forward the page to the map page, hence avoiding showing the password on URL address box. At the current time, without the full integration with CHART II and CHART Lite, the system will expect plain text user name and password. In the future, an encryption/decryption algorithms agreed between the systems can be added to obtain higher security.2.5.5 EORS Sec urityCurrently, the EORS security has not been implemented. EORS functions will behard-coded with security configuration.3. Network ConfigurationThe design to a higher place depicts CHART network configuration as the Internal network, a Demilitarization Zone (demilitarized zone) network for hosting the web server and connecting out to the external Internet network.There will be two firewalls, one between the Internet and the DMZ network and another one between the DMZ network and the internal network. The map server and database servers are to be hosted in the internal network for uttermost security. The initial configuration cry (out)s for two physical computers to host the map servers and database servers. In the future, if the system take to scale up, additional physical servers can be added. The Intranet web server can optionally be hosted on the load- fit practical(prenominal) server too.3.1.1 Map Server Load fitThe design achieves load balancing by a combination of Windo ws 2000 Advanced Server Network Load equilibrize (NLB) Service and the ArcIMS Application Server. The system utilizes two physical server computers. The two servers are configured with NLB. NLB works on the TCP/IP level. whatsoever incoming traffic from web server to the virtual server IP address is load balanced between the two application servers by NLB. ArcIMS Application Server operates at the application level, monitoring each spatial servers load and operation. When a spatial server is busy, it directs the map request to idling spatial server(s).Each physical map server hosts one ArcIMS Application Server and two ArcIMS spacial Server instances. An application server failure forces NLB to direct new connections to the remaining application server. When the failed server is recovered, new client connections should once again be shared between the two servers. The two spatial server instances are cross registered to the application servers. As shown in the diagram, Spatial Se rver A1 and A2 are registered to Application Server B and A correspondingly. This arrangement run intos that when a spatial server is down, the application server can stillutilize the spatial server from the other server to serve the map request and the application server wrap up to function. Also, this configuration also allows ArcIMS to load balance at the Spatial Server level as opposed to just the network traffic level, which is what NLB provides. This configuration can withstand an Application Server failure, a Spatial Server failure, a simultaneous Application/Spatial Server failure or ironware failure of one of the physical map servers. Using two map servers with network load balancing should provide high-availability load balanced ArcIMS web site.3.1.2 Database Load matchBy running two SQL Server and ArcSDE instances with NLB to balance the load, the system can achieve high availability at the database server layer. The database servers are completely independent and sha re no hardware components. This type of availability is achievable with the standard edition of SQL Server.The two database servers are rig-up with Transactional replication. One of the two SQL Servers is configured as the newspaper and the other one as a subscriber. All the data modification such as insert, delete and update will be performed on the publisher and changes are replicated to the subscriber. Transactional replication can provide very low rotational latency to Subscribers. Subscribers receiving data using a push subscription usually receive changes from the newspaper publisher within one minute or sooner, provided that the network link and fair to middling processing resources are available (latency of a few seconds can lots be achieved).When the web server and map server requests use the virtual IP address on the load-balanced group of database servers, they are directed to the database server with the least amount of load. If one of the database servers goes down due to hardware failure, NLB detects that this server is down and no longer directs database requests to this machine. The remaining machine handles the database requests and apart from a slight drop in performance the users are unaware that a database server has failed. When the hardware is fixed the offending machine can be brought back online.One boundary exists for this design. It happens when the publisher database is down. In this situation the data updates cannot be committed until the publisher database comes back. But at the same time, all read access from the Internet and Intranet server could still be directed to the secondary server. In the case when the publisher data is going to be down for extended time period, system configuration need to allow system administrator to change the configuration so that the replica will serve as the main database. Compared with clustering solution, this system design provides the maximum database availability and performance benefit.Th e databases that need to be replicated would include1. Background map database.Background map data does not change often. A breeze replication is sufficient for replicating data updates in one database to the other.2. CHART/EORS Spatial DatabaseCHART/EORS spatial database stores CHART and EORS wrench and compositors case information with spatial data. They are dynamically updated throughout the day. Transactional replication will be setup to ensure that data change in one database gets replicated to the other one.3. SDE metadata.In general, the system can continue to provide access of map and data to some(prenominal) the Internet and Intranet users in the case of failure of any one component in the system. The only exception is that when the publisher database is down, the new data cannot be updated into the system. Users will get delayed information.3.1.3 DMZ ConfigurationCHART is currently implementing a Demilitarization Zone (DMZ) network to enhance the network security. This entails creating a separate network for the web server computer(s) and separating it from the internal network with a firewall.In an ideal world, the DMZ would have no physical connection to the internal network. This would require two separate map server setups to serve theInternet and Intranet users. The recommended way to implement is to disallow any access from the DMZ to the internal network, precisely allow access from the internal network to the DMZ. In other words, allow out-bound connections. On each of the ArcIMS server computers, mount a network drive to a shared drive on the sack server. Each ArcIMS spatial server would write the output raster image files to the location on the web server to be delivered to the Internet client browsers.4. Database compositionTo reduce the dependency and operation interference between the spatial data and the attribute data, the EORS spatial database and CHART spatial database will be created as two SQL Server databases. To reduce the performance overhead when joining data between the spatial and attribute data, the EORS spatial database will reside on the same database server(s) as the EORS database.5. Technical Challenges5.1 Map Display MechanismCHART Intranet mapping application requires that changes in event and device data be reflected on all map clients in a near-real-time fashion (within 5 seconds). To do so via the traditional raster map publishing mechanism will result in all clients retrieving updated map every 5 seconds or at least when event/device status update requires a new map to be generated. When there is large number of users of the system, it will result in a high map server load in a concentrated short time period.To resolve this issue, the couch team reviewed various technical approaches and summarizes their usefulnesss and disadvantages as the following5.1.1 Raster (JPEG, GIF or PNG) look-alikeThis is a popular approach that utilizes the basic image display functionality of web browsers . It utilizes the server processing power efficiently. The disadvantages are that the images have limited client side intelligence, leaving most of the computation concentrated on the server. Its capability of handling large number of concurrent map requests is limited. Generally, one map server can support 4-8 requests per second. ForCHARTs situation, when an event changes status, if a new map image needs to be generated, it would be about 40 requests per second (200 users at 5 second update interval). Many servers will be required to support the load.With the license fee involved with using GIF format, we will not use GIF for map publishing. Compared with JPG format, PNG artwork do not have the bleeding effect inherent with the JPEG coalition algorithm. With the map displaying lines rather than continuous tone images, it is such(prenominal) cleaner. PNG also results in a smaller file, which translates into faster download times for client. The only JPG advantage is server side image generation times. It is recommended to utilize PNG for the Intranet application to make grow highest quality images for standardized IE browser while utilizing JPG for the Internet to allow for support of as many browsers as possible. Also, the reduction in image processing time should deliver better web image generation performance.5.1.2 XML Based sender Graphics5.1.2.1 Vector Markup spoken language (VML)VML is a XML based W3C standard in describing vector graphics. Basically, it encodes the vector coordinates of points, lines and polygons in XML format. The support of VML is include in Internet Explorer 5.0 and later. There is no download demand to display VML encoded vector graphics. It also has built-in support for style canvass and scripting. This makes it possible to modify the display properties and positions of the vector graphics using the umberScript on the client-side browser. Using this functionality, we can dynamically update the display of devices and event s.5.1.2.2 Scalable Vector Graphics (SVG)Scalable Vector Graphics is another XML-based W3C standard format for vector graphics. Compared with VML, it requires Java or ActiveX based plug-in to be displayed. Also, based on review of the plug-ins (SVG Viewer by Adobe), there is not as much support for scripting as for VML.5.1.3 ArcIMS Java ViewerArcIMS includes a Java Viewer, which provides a Java Applet that can becustomized to a certain extent to display vector encoded GIS data on the client side. It requires a download to the client. The Java Viewer reads vector data from ArcIMS feature server encoded using an ESRI copyrighted compression format, which makes it difficult to implement special features such as WSMS offsetted pass networks because they need to be offset dynamically based on map scale.5.1.4 MapObjects JavaMapObjects Java from ESRI provides a set of Java-based objects for GIS functionalities. It has an extensive set of functionality that can satisfy the requirements. Bu t, it requires a license fee of $100/seat, or equal server-based licensing. It also requires a download to client machine to run it.5.1.5 epitomeBased on the research above, the project team recommends the following design Use raster map for background map display (background data with SHA grid map are often large amount of data, suitable for server side processing) Use XML data format to transport the device and event data from server to browser client. Use JavaScript to create and update the VML vector data elements to display the dynamic layers including all the CHART/EORS devices and events.The diagram above illustrates the map display mechanism1. Map server reads the spatial data from background database and sends the published map image to the client browser to be displayed as background.2. Device and event information is broadcasted from the CHART II system in the form of CORBA events.3. CORBA event listener receives the event broadcast and saves the data into CHART spatia l database.4. CHART/EORS device and event data are published in XML format to the client. Client browser parses the XML into a XML instrument Object Model (DOM) using the XML parser.5. The client browser then recapitulate through the DOM tree structure and create corresponding VML elements based on the XML device and event data. The VML elements are displayed on the top of the background raster map image. 6. At a pre-configured interval, the browser client retrieves update of device and event data from the IIS server in XML format and update the VML displaybased on the updated information.5.2 Automated Refresh of Device and incident DataCHART/EORS device and event information needs to be updated at a pre-configured interval. They should be updated separate from the background map to reduce the load on the map server. The technical approach to achieve this will be to use a hidden skeletal frame to send the request to retrieve updated device and event data and receive the response . The response will package the data in XML file to be parsed into a document object type (DOM) and display the data on map. The request can be to retrieve all data or only retrieve data newer than fail retrieval.When the new device/event is received and it requires changing the display of the device/events, the style assignment for the elements can be changed to update the device and event display. The VML elements will be sent using real-world coordinates (Maryland State Plane 1983). afterward the data has been retrieved to the client side, the VML map layers can be dynamically communicate using the local coordinate space. When user zooms or junk the map, the VML will be projected using the updated coordinates to fit the new map extent without going back to the server to retrieve new data set.5.3 Inter-Frame Client Script SynchronizationThe map page has a few frames and the browser loads them asynchronously. Scripts in one frame may call scripts in another frame that may not have been loaded. The approach to resolve this is to add client-side exception handling and verification routine to ensure that the script is called always after the frame is loaded.5.4 Assigning and Editing lawsuit LocationThe dynamic nature of VML elements in the browser allows adding and modifying VML elements by scripting. When the user clicks or drags the mouse on the map, client-side script manages the transformation of screen coordinates and real-world map coordinates. The coordinates are sent back to the servers secured URL where the information is extracted and saved to the database.5.5 ScalabilityThe CHART mapping application serves not only the Intranet users, but also Internet browser clients. During emergency situations, the load on both the Internet and Intranet servers could get extremely high. The system must be able to scale up to serve large amount of users.The technical approach to solve this issue involves two main facets. As described in the network configurati on section, the system will employ network load balancing and allows adding additional hardware in the future. The system should also be able to utilize the caching feature of IIS and ASP.Net to scale up without significantly enlarge hardware investment. ASP.Net allows caching configuration for individual page modules, such as whether the page is cached and how long it is cached. later on the application is deployed, these caching settings can be configured on the web pages. For example, if it is determined that the Internet mapping can be up to 3 seconds late, by setting caching time to 3 seconds, all requests from the Internet will receive a cached response without creating additional load on the map and database server.5.6 Exception Management and RecoveryCHART II keeps its clients updated via a push model using the CORBA typesetters case Service. The Event Service does not guarantee delivery therefore it is possible for event data to be lost/dropped (although in practice, thi s is rare). To account for this possibility, the CHART Web Event listener will refresh its information about the status of devices and traffic events from CHART II at a configurable interval. Also, each time the Event listener is started, it will retrieve all relevant data from CHART II. Thus, the update model becomes a push model with an occasional pull to be safe.This process will be utilise to recover from the following situations1. The Event attendant was down and did not receive new data from CHART II.2. CHART II CORBA event(s) occasionally dropped while the Event attender is up and running.Another likely scenario is that the CHART II server or service(s) restart. After a typical restart, the CORBA Event Service CORBA objects will berecreated with the same characteristics allowing the Event Listener to continue to automatically receive CHART II CORBA events. As the CHART II services will not be processing events during this time, no events are likely to be missed. Therefor e, the Event Listener does not need to do anything special to handle a CHART II server or service(s) restart.Sometimes CHART II support will require that new (and different) Event Service CORBA objects be created. This world power happen during a CHART II upgrade, for example. In this case, the Event Listener will need to be restarted so that it can pick up the new objects. Since this type of maintenance does not occur often and the Event Listener restarting is fast, the restart can be handled as part of the CHART II upgrade procedures.5.7 Integration with ASP Code in EORS and CHART Web ApplicationThe CHART Intranet Mapping, replacing the existing EORS mapping application, will still be launched as a separate window by a URL string with a few parameters identifying the district, view type, etc. The impact on EORS web application should be limited to modifying the URL links.The current CHART Internet Mapping site uses include control to include site navigation pages from upper lev el CHART web sites pages. When upgrading Internet Mapping to ASP.Net, include statement is no longer used. Instead, a ServerXMLHTTP request can be formulated to request the text from the included ASP page and merge them into the mapping ASP.Net pages. The limitation of this implementation would be that the ASP.Net application couldnt share the session and application variables from the ASP application. Currently, there are only a couple of them, such as database connection string. The ASP.Net mapping application will maintain a separate set of application variables.6. User embrasure Design6.1 Intranet Map Site User Interface DesignHere following is a high-level frame structure for the Intranet mapping site1. AppFrame is the highest-level frame that includes all the child frames. On the top of the page, there will be the form of address frame, which will host theCHART icon. Also inside the title frame will be a group of tabs, such as Traffic, way Weather, Message Sign, etc.2. ToolsF rame hosts the map navigation and other map related tools. The ToolsFrame will also host menu system that allows the user to conduct up data and other detailed information.3. HiddenFrame will be used to submit and receive information from the server.4. ContentFrame is further divided to a map frame on the left and a data frame on the right. The user shall be able rearrange the frame boundary to repay more space to the map or data area. Data frame will display data as well as legend, layer control and other items when needed.5. PromptFrame will display the current tool selected and instructions for user activities.Here is a screen shot of the preliminary user interface design6.2 Internet Map Site User InterfaceThe overall CHART Internet mapping web site design will stay the same as current web site. The site will stay as part of the overall CHART web site by including the CHART navigation menus into the site.The site will not be using frames instead, all elements will be laid out as HTML tables.7. References1. CHART/EORS Intranet Mapping System Requirement Specification 2. CHART Internet Mapping System Requirement Specification3. Security and ArcIMS ESRI whiten Paper4. ArcSDE Configuration and Tuning Guide for Microsoft SQL Server ESRI White Paper 5. ArcIMS 4.0 High-Availability Configuration Testing Using Network Load Balancing ESRI White Paper 6. Vector Markup Language (VML) Specification W3C8. Terms and glossinessArcXML ESRIs map request/response specification in XML format CORBA Common Object Request Broker ArchitectureCSS Cascading Style SheetsDOM document Object ModelESRI Environment System Research InstituteGIS geographic Information SystemGML Geography Markup LanguageNLB Network Load BalancingSSL Secure Socket LayerSVG Scalable Vector GraphicsVML Vector Markup LanguageXML Extensible Markup Language
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment