It has been very long time posted my blog. It is much needed too. Yes, an most important much need life changing Event. Now I am back to normal with my regular BusinesAsUsuall work. Yes, it is time to write my technical blog too.
Long back, I have explored Google’s Cloud computing solution “Google App Engine”. I have created sample applications using Spring, JSF too. Recently, I have deployed website with static pages for one of my personal need. One of my friend hosted his static website using Google App Engine for his high availability and high scaleability requirement. I strongly believe Google App Engine will be the right choice for many individuals and startups to host their web application to meet their needs. Here is the sample Google App Engine application he hosted http://rainbowmobiles.co.in.
You may have questions like What is Google App Engine? When to go with Google App Engine?, What is the problem it is trying to solve?. No worries, you will find an answer for such questions by end of my blog.
Google App Engine is a Platform as a Service (PaaS) that lets you deploy and run your applications on the Google infrastructure without having to worry about setting up your own hardware, Operating System or server. Google App Engine lets you run web applications on Google's infrastructure.
• Easy to build.
• Easy to maintain.
• Easy to scale as the traffic and storage needs grow.
Cost:
All these are Free. Yes, free for up-to 1 GB of storage and enough CPU and bandwidth to support 5 million page views a month. 10 Applications per Google account.
Use App Engine when:
• You don’t want to get troubled for setting up a server.
• You want instant for-free nearly infinite scalability support.
• Your application’s traffic is spiky and rather unpredictable.
• You don't feel like taking care of your own server monitoring tools.
• You need pricing that fits your actual usage and isn't time-slot based (App engine provides pay-per-drink cost model).
• You are able to chunk long tasks into 60 second pieces.
• You are able to work without direct access to local file system.
Language Support:
• Java, J2EE (Selected framework with some restrictions)
• Python
• PHP
Data Store Support:
• NoSQL schema-less object based data storage, with a query engine and atomic transactions.
• Data object is called a “Entity” that has a kind (~ table name) and a set of properties (~ column names).
• JAVA JDO/ JPA interfaces and Python datastore interfaces.
Google cloud SQL:
• Provides a relational SQL database service.
• Similar to MySQL RDBMS.
• Fast, scalable and highly available solution.
Other services:
App Engine also provides a variety of services to perform common operations when managing your application.
• URL Fetch: Facilitates the application’s access to resources on the internet, such as web services or data.
• eMail: Facilitates the application to send e-mail messages using Google infrastructure.
• Memcache: High performance in-memory key-value storage. Can be used to store temporary data which doesn’t need to be persisted.
I am hoping many new IoT solutions will evolve in near feature using Cloud solutions like Google App Engine. Let’s hope.
Happy Learning
Nanjundan Chinnasamy
Knowledge is our wisdom & i want to share the knowledge which i learnt recent times. Keep following my blog for new updates
Wednesday, June 22, 2016
Thursday, March 17, 2016
Google Map - for Cab booking service -
As I
keep telling to many of my friends, today’s modern technology can be used to
address the day2day issues in a
veryeffective way. Ie, using the power of “Internet of Things”. Technology adoption is very good (I could say the
best) in cab services, telecom and banking
compare to other areas as many of you aware.
I am
referring here the Cab services as Geo/app based cab booking service ins very popular now a days. App based Cab service solved many problems like cab delay, cab booking/Cancellation and consumer &
supplier issues. To book any cab service, we want to install the apps from
different cab providers. It’s good to rely on one service provider and use
their service. But we may be missing the price comparation and the great
flexibility of using any cab service for the given source and destination.
Google
has come up an innovative solution to solve such issue. Yes, Google map will be
a one central point and you can select the source and destination and select
the cab service on the GO based on your choice. Also, it gives the ride charge
details for various cab service providers. Ie, Ability
of booking cab service from Google Map. Sounds interesting?
You can
look at the blog Google
Map blog for more details about this @ https://maps.googleblog.com/2016/03/your-car-has-arrived-more-ways-to-get.html
Nanjundan Chinnasamy
Wednesday, March 9, 2016
I
have planned to write an article for iCal – Calendar event utility using Java
technology long back. Due to many reasons, it took some time to prepare this
article. I have done with the working POC. You can explore and come back if you
have any doubts in iCalendar generation using iCal4j framework.
iCal4j
can be used to creating new iCalendar data from scratch OR modifying existing
iCalendar data. Here you will find a few examples indicating the recommended
usage of this library.
iCal
comes with many handy functionality to deal with iCalendar related
functionalities. Major functionalities are:
Creating an iCal
event
Updating an existing
iCal event
Parsing anexisting
iCalendar file
Iterating over a
Calendar and get the available events
It
also provides a functionality to deal with different TimeZones. Here I have
added my POC code only for iCalendar file creation alone using iCal framework.
You can use this as a reference. Rest of the functionalities will be easy if
you understand the iCalendar creation. Those functionalise can be explored at http://ical4j.sourceforge.net/introduction.html
Creating an iCal
event – Sample Code:
public static
void main(String[] args) throws
FileNotFoundException,
IOException,
ValidationException, ParserException {
String calFile = "c:/mycalendar.ics";
//
Creating a new calendar
net.fortuna.ical4j.model.Calendar
calendar = new
net.fortuna.ical4j.model.Calendar();
calendar.getProperties().add(
new
ProdId("-//Temp//iCal4j 1.0//EN"));
//
calendar.getProperties().add(Version.VERSION_2_0);
calendar.getProperties().add(CalScale.GREGORIAN);
Calendar calStart = new
GregorianCalendar().getInstance();
calStart.set(2015,
java.util.Calendar.MARCH
, 03, 12, 0);
Calendar calEnd = new
GregorianCalendar();
calEnd.set(2015,
java.util.Calendar.MARCH,
03, 13, 0);
DateTime startTime = new
DateTime(calStart.getTime());
DateTime endTime = new
DateTime(calEnd.getTime());
String appmtSubject = "Test
appointment_EventId12345";
//
Create event
VEvent appointmentEvent
= new VEvent(startTime, endTime,
appmtSubject);
appointmentEvent.getProperties().add(new
Location("NC Home"));
StringBuilder
appmtSumamry = new
StringBuilder();
appmtSumamry.append("Dear
Friend, \n\n");
appmtSumamry.append("This
is to catchup with you for 30 mins at my home. \n");
appmtSumamry.append("Topic:
Chumma\n");
appmtSumamry.append("Address:
address1, address2, postcode\n");
appmtSumamry.append("Telephone:
\n");
appmtSumamry.append("Purpose:
\n\n");
appmtSumamry.append("if
you need any assistance mean time, please contact us at 1800XXXYYYY");
appointmentEvent.getProperties().add(new
Description(appmtSumamry.toString()));
/*//
initialise as an all-day event..
christmas.getProperties().getProperty(Property.DTSTART).getParameters()
.add(Value.DATE);*/
UidGenerator
uidGenerator = new
UidGenerator("1");
appointmentEvent.getProperties().add(uidGenerator.generateUid());
calendar.getComponents().add(appointmentEvent);
//
Saving an iCalendar file
FileOutputStream fout = new
FileOutputStream(calFile);
CalendarOutputter
outputter = new
CalendarOutputter();
outputter.setValidating(false);
outputter.output(calendar,
fout);
Required
JARs:
commons-lang-2.6.jar
commons-logging-1.1.3.jar
ical4j-1.0.5.jar
backport-util-concurrent-3.1.jar
If you are seeking for any specific details to build a Calendar event using iCal, feel free to comment this blog. I am happy to respond to you.
Thanks,
Nanjundan Chinnasamy
Thursday, February 11, 2016
Social data – An alternative Credit database to check Customer Credit worthiness
Banks can assess credit worthiness based on digital data culled from multiple sources like social data in addition to multi credit databases.
Banks/Lenders can assess the credit worthiness based on digital data derived from multiple social data’s like Facebook, LinkedIn etc..
To assess the address of the applicant, Location services (GPS) on mobile phones can be used to establish address and place of work, based on where a person is during the day and night.
SMS mining can also be used to know the transactions in one’s accounts and to establish patterns. Bank transaction details based on SMS logs can provide information on bills paid and salary credits
Social media profiling is also widely used. For example, a LinkedIn profile can be used to validate place of work and establish identity
Again, we want to assess the credit worthiness of the Customer/person prior to lending them. Social data assessment will be more helpful for those who don’t have data at credit database. Also, banks can think of up/down selling of the products based on the customer social behavior.
We can consider social data as an Influencer to derive credit worthiness of a person rather relying only credit databases.
What do you think?
Banks/Lenders can assess the credit worthiness based on digital data derived from multiple social data’s like Facebook, LinkedIn etc..
To assess the address of the applicant, Location services (GPS) on mobile phones can be used to establish address and place of work, based on where a person is during the day and night.
SMS mining can also be used to know the transactions in one’s accounts and to establish patterns. Bank transaction details based on SMS logs can provide information on bills paid and salary credits
Social media profiling is also widely used. For example, a LinkedIn profile can be used to validate place of work and establish identity
Again, we want to assess the credit worthiness of the Customer/person prior to lending them. Social data assessment will be more helpful for those who don’t have data at credit database. Also, banks can think of up/down selling of the products based on the customer social behavior.
We can consider social data as an Influencer to derive credit worthiness of a person rather relying only credit databases.
What do you think?
Tuesday, February 2, 2016
Design Patterns - Creational design patterns
Few of my friends and followers requested me to write blogs on Design patterns. I am here briefing the Creational design patterns using java language. I am sure i will be post other design patterns soon.
Startups - free tools
Are you an Entrepreneur OR
planning for? Here are the free tools will help/manage your business
effectively.
Happy
Reading,
Nanjundan
Chinnasamy
Tuesday, January 19, 2016
CAPTCHA – Java based solutions.
You may aware that Captcha is common and much needed
solution to prevent Denial of Service attack from public network. Being a Java
lead, it is very difficult to find out the correct Captcha solution for the
given requirement. If so, don’t worry. I have articulated the available Captcha
solutions for Java Technology with Pros & Corns. Hope this article brings
much detail to choose relevant Captcha solution to your project.
Are you looking for any specific details on the above? Leave me a comment. I will get back to you.,
Thanks,
Nanjundan Chinnasamy
Subscribe to:
Posts (Atom)
Pega Decisioning Consultant - Mission Test Quiz & Answers
The Pega Certified Decisioning Consultant (PCDC) certification is for professionals participating in the design and development of a Pega ...
-
The Pega Certified Decisioning Consultant (PCDC) certification is for professionals participating in the design and development of a Pega ...
-
Hi Guyz, My Business Unit is in the process of creating a new development process tool something like Teamtracker for Internal purpose. I...
-
This blog is all about improving “Customer Service” further from the where we are now. It's an Ideation Blog. Like banks across th...