160 likes | 286 Views
Vehicle routing software with Google App Engine Implementation. My project. Small-Medium Enterprises (SMEs) faces goods distribution problems needs necessary resources, money and technical expertise, to purchase and implement complex planning softwares
E N D
Vehicle routing software withGoogle App Engine Implementation
My project • Small-Medium Enterprises (SMEs) • faces goods distribution problems • needs necessary resources, money and technical expertise, to purchase and implement complex planning softwares • Aim to build an easy-to-deploy/use/maintain software • that helps companies manage their sale orders and deliveries • focusing specifically on planning optimised distribution routes.
Use cases - Customer Mgmt • The system maintains a dynamic list of customers with their details, most importantly their delivery addresses.
Use case – Product Mgmt • The system maintains a dynamic list of materials with their details, especially delivery costs in terms of size units and/or weight units.
Use case – Order Mgmt • The system allows customers to place orders for products. • Orders can be one-off or recurring (daily, weekly or monthly).
Use case – Vehicle Mgmt • The system maintains a dynamic list of vehicles with their details, especially operating cost and vehicle capacity in terms size units and/or weight units.
Use case – Delivery Mgmt • Delivery planning, which includes vehicle routing, is done automatically on a daily basis. • Planning can also be done manually with modified variables and results are stored for review and analysis.
Use case – Inventory Mgmt • The system maintains inventory counts and carries out Material Requirement Planning (MRP) based on projected demands and sales orders.
Implementation • Google App Engine (GAE): • Was first released as beta in April 2008. • Is a platform for • developing and • hosting web applications • in Google-managed data centres. • Is cloud computing technology • It virtualizes applications across multiple servers and data centres
Why is it good? • Easy to scale from one to millions of users without infrastructure headaches. • Low cost – you can jumpstart your application with zero cost • Fast development – No assembly required – fully-integrated development environment. • Easy maintenance – no worry about software updates or compatibility issues • The pitch: You write the code, someone else worries about everything else
What can it do? • Serve static files • Serve dynamic requests • Store data • Call web services • Authenticate with user’s Google account • Send email • Process images • Use memcache
Any catch? • GAE is only free up to a certain limit (but it is large enough for comfortable use) • Stored Data – 1 GB • Datastore API Calls – 141M calls daily • Image Manipulation API Calls – 45M calls daily • Mail API Calls – 2,000 emails daily • Requests – 43M requests daily • Bandwidth – 1GB daily • CPU Time – 6.5 CPU-hours daily
Billing • Use as much as needed, whenever needed • Pay only for what is used • Like utility (power, water) • No need to build own infrastructure • Infrastructure as a service (IaaS) • No need to install supporting softwares • Platform as a service (PaaS)
Datastore • BigTable • Distributed storage system for structured data • Petabytes of data across thousands of commodity servers • Designed to scale applications to a very large size • Used by many projects at Google: web indexing, Google Earth, Google Finance,…
Datastore • Not a relational database • Fully object oriented – data is stored as entities which have properties (key/value pairs) • No join – use reference properties • No aggregate queries – not even count • All queries must run against an index • and some other weird rules
More information • https://appengine.google.com