All posts by tomas

Goolge app engine + java + spring + REST + JSON + Flex – Part 3

the_lock

Objective

After reading this post you will be able to implement robust user authentication and authorization scheme without replicating code to check if user is logged in and if the are authorized to perform a certain action.

The Problem Domain

You, like me, face the same problem with each web application – user authentication and authorization. Who is logged in? Can they delete this entity? Can they see this report? How to solve this problem without copy pasting same piece of code to every servlet/action/controller/whatever? If you are using spring MVC there is a very elegant and powerful solution – Interceptors.

You can have as many interceptors as you like, I usually have one for security and maybe one more for some other task. Interceptor fires before your controller/action gets invoked. If it returns true the flow can continue, if it returns false the execution stops right there – request has been handled by the interceptor.
Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 3

Goolge app engine + java + spring + REST + JSON + Flex – Part 2

www_1

Objective

Once you are finished with this article, you will be able to store application data in Google App Engine Data store and consume REST service using flex client.

Common Problems and Solutions

In my personal opinion flash player security model is the biggest piece of bullshit I ever encountered. If you sit down and thing just for 10 seconds about how it is implemented you will have to agree that it provides NO security at all. It just makes impossible so do certain things, that’s all. Adobe needs to drop it now.

Here is the problem that we have with REST and Google app engine: Adobe’s implementation of HTTPService only supports GET and POST, to consume REST we need at least 3 methods: GET, POST and DELETE. We can live without PUT – if id is null JDO will create a new persisted object, if it is set JDO will update it. But we still do not have support for DELETE. Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 2

Goolge app engine + java + spring + REST + JSON + Flex – Part 1

Objective

Once you are finished with this article, you will be able to implement REST services in Google Apps Engine using JAVA, Spring 3.0 and JSON. In the next part you will learn how to add flex application to consume the services.

Step one – Getting all required libraries: Google App Engine SDK, Spring and JSON serializer

If you are using Eclipse (my favorite IDE), you can install google plugin from here. If you choose to go another route, you need to download the sdk, create the project and join us back in the next section. Once you install the plugin, restart eclipse and you can see these buttons

Google App Engine Project Button

you can proceed to the next section.

Step Two – Create new project

Go to new project wizzard Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 1

Goolge app engine + java + spring + REST + JSON

binary_code_3

I have been inching to try out google app engine and its capabilities, but did not wan to give up the spring. So to day I am starting on my prototype involving Goolge app engine + java + spring + REST + JSON.

The end product will be spring mvc app running in google app engine handling GET, POST, PUT and DELETE http requests with JSON objects in and out utilizing JDO and seesions. This will give me a platform to write clients in Objective C for Ipod/Iphone (aka Coco Touch), Android, Flex, Ajax and maybe couple more platforms.

I am writing this while I am downloading Spring 3.0RC1. Will try to give daily updates if I can. If my prototype works as expected (all the research points to yes), I will have sample project available for download. There will be some trouble getting Flex to talk REST, since it only supports GET and POST and like most Adobe development stuff is not of the greatest maturity……. (opening new tab to check if we have new version of flex… still beta). Anyhow, Flex REST part will be interesting, I have already done some hacking in that area and it can be done – I have to write http client by hand, but who does not like an interesting challenge?

So here you have it. Next update when I have Spring 3 mvc inside google app engine up and running.

The part 1 is now online.

The part 2 is now online.

The part 3 is now online

The part 4 is now online

Need to Focus Focus Focus!

I have realized that I am spreading myself too thin. I have too many projects going on at the same time and all of them suffer. I have too many mailing list “spamming” me and too many podcast to listen to. So I am going on an information diet. I know what I know and I will not get closer to my goals by listening to another podcast or reading another infomercial type email.

I am ordering my projects according to the priority and completion potential. I will spend time only on one of them until it is finished. I think a lot of technical people have the problem with polishing the product and never realizing that is does not have to be perfect. Once it is working, we need to focus on marketing and selling it. I know I sometimes suffer from this perfection paralysis.

So focus, focus and one more time focus. Do not let your eye off the ball.

And for those who want to listen to a very interesting podcast on internet business and marketing check out Sterling and Jay on “Internet Business Mastery

Almost no progress over the weekend

My plan was to finish a simple flash game for attracting more visitors to own of my websites, but as sometimes happens – life intervened. I was able to sit down at the computer to code for ah hour at around 8pm last night. Caring for an infant is exhausting. All you moms out there I really know how hard you have to work!

On another note, we are filing our first eviction in 3 years or real estate investing. That is a great track record, but I rather not do it. Sometimes you just have no choice. To have even a slight chance of getting our money we have to go to court. I feel for the family that has to move out, but we can not afford to run a charity.

New Year – New Outlook – New Goals

Now that initial shock of caring for a newborn has passed, I am ready to get back to business. My daughter is almost 3 months old now.  She starts to sleep more at night, that leaves more of the night to work on my world domination plan.

I came to a realisation that the only way to freedom is internet business. Real estate is great, but you have to be there all teh time. You need to go see houses, buyers and sellers. Unless, of course, you are a multi millionaire and can just buy and sell skyscrapers and shopping mals or big apartment buildings.

To have freedom to travel and work from anywhere I need to be location independent. I have this dream of renting and RV and driving around the USA one summer. To make this work, I need a business that will run itself with minimum involvement form me. The only way I see it – take it to the internet. I allready have multiple websites up and running, but only one has potential to bring any substantial income this year. So now I have crafted a plan to launch 2 products taht I can sell online. And one of them has the lucrative “monthly subscibtion” feature.

I am working on the first one already. I will be releasing a Beta pretty soon. And the best part of it – I am planing on giving the base version out for free.

So here it is. How that I have promissed to you, that I am gonna do it, I have no other choise, but to do it.