Download presentation
Presentation is loading. Please wait.
Published byMaximillian Pierce Modified over 9 years ago
1
Implement Viewing Transactions in Real Time James Payne Managing Director for New Media / Advancement July 27, 2015
2
Agenda Introductions How it works Technologies
3
How It Works 1/4 Three Processes One process reads transactions from iModules via web services The second process aggregates transaction data and caches the result The third process creates web pages from the cached data
4
How It Works 2/4 One process reads transactions from iModules via web services Requests transaction synopsis data once a minute via iModules web services Receives and parses XML data from iModules Data is saved into (MongoDB) database
5
How It Works 2/4 https://api.imodules.com/ws/21/TransactionsQuery.asmx XXXXXX XXXX 2015-07-17T13:59:30 true
6
How It Works 3/4 The second process aggregates transaction data and caches the result Once a minute, reads data from MongoDB database for each time interval; five minutes, one hour, one day, one week, one month Calculates totals and other metrics Packages data in the format the web server will expect Caches processed data object into memory using memcached
10
How It Works 4/4 The third process creates web pages from the cached data Web server reads data from cache, MongoDB, or directly from iModules depending on data type Web page is created on the fly
11
Technologies Required… iModules Web Services Tools of choice for OUR implementation… Java programming language Linux operating system Cron scheduler Memcached in-memory cache MongoDB database Tomcat application server Google Graphs JQuery Tablesorter
12
What is a web service? -Also known as ‘APIs’ -A building block for ‘Service-Oriented Architecture’ (SOA) -Used to tie systems together -Used to provide access by a provider to services or data to a consumer other than a browser… But sometimes to a browser (AJAX)
13
Documentation -iModules has very good web service documentation -Download it at… https://confluence.imodules.com/display/help/ iModules+Web+Services+2.1+-+Engineering+Documentation -Or just search the Internet for imodules web service 2.1
14
Access -You will need a username and password to access web services -Tell your account manager that you would like to use web services -Your account manager will arrange access for you
15
Programming Language We used Java. Any language will do as long as it can do the following… Allow Internet access (HTTP) to place web service requests Allow parsing of received XML data Allow database access Allow cache access php, Perl, PL/SQL, Visual Basic… Many others
16
Operating System We used Linux… But any will do. Choose the one you are comfortable with
17
Scheduler The scheduler runs the web service and data aggregations processes once per minute Cron is built into the Linux operating system
18
Caching In-memory caching allows very fast access to difficult-to-produce or frequently retrieved data We use memcached – A widely-used open- source cache -Developed at LiveJournal -Used by Wikipedia, Twitter, YouTube, Craigslist, many others
19
Database Someplace to keep the data safe We use MongoDB – a ‘NoSQL’ database -Allows storage of ‘schemaless’ JSON documents -Easy to understand and use -Scalable and performant with minimal administrative overhead
20
JavaScript Add-Ins Google Charts – Allows dynamic graphing of data Jquery / Tablesorter – Allows sorting of HTML tables
21
Resources iModules Web Service v2.1 Documentation https://confluence.imodules.com/display/help/iModules+Web+Services+2.1+ -+Engineering+Documentation XML http://www.w3schools.com/xml/ Memcached http://memcached.org/ MongoDB https://www.mongodb.org/ Google Charts https://developers.google.com/chart/ Tablesorter http://tablesorter.com/docs/
22
Implement Viewing Transactions in Real Time James Payne james.payne@dartmouth.edu Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.