
The personal view on the IT world of Johan Louwers, specially focusing on Oracle technology, Linux and UNIX technology, programming languages and all kinds of nice and cool things happening in the IT world.
Monday, June 01, 2009
Web Trend Map 4 2009

Wednesday, October 08, 2008
Oracle website performance

The financial loses of loosing customers due to under performing it systems can be enormous and even deadly in some cases. It can harm your brand in such a way that it will lose market share. For this reason companies do apply systems to measure system performance. Most of those systems monitor the health of your system. They will look at memory use, CPU utilization, network bandwidth. Some companies do probe the website from a inside or outside location and let bots crawl there website and report response times back to the IT department. All good things you should do, you should be aware of the health of your system and you should be aware if your site is till available to the outside world. However, measuring your system performance is not saying anything about how quick a page request is send to the customer who requested the page. And measuring one or more pre-defined click paths into your website from a outside location is not saying anything about the real performance a customer is experiencing.
To tackle this problem you should be looking at the speeds your real customers are experiencing. Oracle has developed Oracle Enterprise Manager Real User Experience Insight as part of the Oracle Enterprise Manager 10G stack. Oracle Enterprise Manager Real User Experience Insight or OEM-RUEI will capture, analyse and report on real customer experience by 'sniffing' network traffic. It will look at the requests send to your webserver and the response send back. So when a customer asks for somedomain.com/index.html the customers browser will send a get request to the webserver running the somedomain.com domain. The webserver will send the request back and OEM-RUEI will detect the time that the request leaves the companies network and is at the customer. The time between the get request and the moment the response is send back over the network is the real time the customer is also experiencing.
This way you can see what the real times are, if customers abort transaction and what is really happening in the eyes of the end customer. This will be of more value to indicate if a customer is having a good experience. if you see that the response times are getting up you can look more into the details and this is when the measuring of your CPU, memory and bandwidth of your server come into play in combination with the analysis of your network switches, routers and such. So all tools in the market have some value and all have a place in analyzing the performance of a website, however in my opinion OEM-RUEI is such a valuable tool that if you are running a serious website you should consider looking into this.
Sunday, August 24, 2008
Configuring Apache with Tomcat

The howto guides can be found on johnturner.com
Thursday, August 21, 2008
Wordl and tag-clouds

Monday, August 18, 2008
Talkbiznow is launching

I have pre-registered to see it as one of the first adapters and somewhere today the people who have registered will get a login send. Because I am a LinkedIn fan I will be looking very close to talkbiznow.com and inform you on all the things I encounter and I will invite you to join the site if I feel it has something to offer. However, a community site has to grow to show some use. An unpopular social networking site has no use; the more people attend the more useful it will get and the more the market value will grow.
Wednesday, July 16, 2008
visualcomplexity.com

I just came across a website called visualcomplexity.com, here you can find some of the best and most cool network visualizations out there. Not only visualization of computer networks but also social networks, business networks and more. Cool to have look at.
Sunday, June 15, 2008
Google optimizes your website

You can spend lots of money by paying a company to create some reports on how to optimize your website. However the best, and very cheap (free) alternative is to let google optimize your website by making use of the Website Optimizer.
Here you will be able to test several scenarios and get tips and trick on how to improve the scenarios. And now via the Google Technology Partner program you will also have the ability to make full use of your content management system in combination with the Google Website Optimizer.
If you are new to the website optimizer you can checkout the video presentation by Tom leung from Google.
Tuesday, May 06, 2008
php token_get_all LifeType

If you do not have the token_get_all function available some pages in lifetype will show the following error:
[error] [client xxxxxxxxx] PHP Fatal error: Call to undefined function token_get_all() in /usr/home/www/xxxxxxxxxx /public_html/class/template/smarty/internals/core.write_compiled_include.php on line 45
One solution is to add the function token_get_all so LifeType will work as intended, this however will require a recompile of php. A more simple hack is to change core.write_compiled_include.php which can generally be found in $lifetype/class/template/smarty/internals/.
On line 39 you will find a statement that makes sure that the function will only work when your php version is higher than version 5.0.
$this_varname = ((double)phpversion() >= 5.0) ? '_smarty' : 'this';
Now we do not want to have this executed so we change the required version from 5.0 to 7.0 which is not the version we are currently running. By making the change we make sure that there is never a call to token_get_all and by this we solve the problem.
$this_varname = ((double)phpversion() >= 7.0) ? '_smarty' : 'this';
This however is a quick and dirty hack, a better way is to recompile PHP with the token_get_all function included.
Sunday, May 04, 2008
Blogging as a job

Most people who have a blog which they keep up to date and accurate will most likely enjoy this and as everything you do what you enjoy you might from time to time wonder, “Would it not be nice if this was my job”. Well, I think I have had this thought a couple of times, and now it has become reality…. It is not becoming my job but we have started the first of a couple of corporate weblogs.
Currently I have already posted 4 blogposts.
RFID and Oracle in the Supply Chain:
An article on how RFID tags can help you plan your Supply Chain Management and warehouse management in combination with Oracle.
Oracle and Drop Shipment:
An article on how Oracle E-Business suite can handle drop shipments.
Oracle iStore return orders:
An Article on Oracle iStore and how to handle return orders from customers with some examples of flows.
Oracle demand planning with Demantra:
A quick introduction on demand planning in Oracle E-business suite, I will be posting more on this topic on this weblog and the SmartApps weblog.
Thursday, April 10, 2008
Google infrastructure

“Google App Engine enables you to build web applications on the same scalable systems that power Google applications.”
As google states:
#-----------------------------------
What Is Google App Engine?
Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it's ready to serve your users.
You can serve your app using a free domain name on the appspot.com domain, or use Google Apps to serve it from your own domain. You can share your application with the world, or limit access to members of your organization.
App Engine costs nothing to get started. Sign up for a free account, and you can develop and publish your application for the world to see, at no charge and with no obligation. A free account can use up to 500MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month.
During the preview release of Google App Engine, only free accounts are available. In the near future, you will be able to purchase additional computing resources.
#-----------------------------------
I have tried to get a first account,… however…. I have been put on the waiting list because to many other people have applied for a developers account.
Friday, February 29, 2008
Ubuntu Brainstorm

Ubuntu, a popular Linux distribution, has released Ubuntu Brainstorm. A place where everyone can post and vote ideas that should be developed for upcoming releases of Ubuntu. Quite like Dell did some time ago.
A great way for people to tell what they think about the current state of the distribution and to comment on the ideas of others. By voting a idea can get high up the request list for the Ubuntu Developers and make it to the next release. In my opinion a great idea! Go Ubuntu!
Thursday, February 14, 2008
Google Web Toolkit

First, Google Web Toolkit, google claims the following on the website:
Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.
GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.
And I think this is completely accurate. On the google website you can find a lot of examples, books and articles to get you started. What Google offers is a quite good set of pre developed solutions you can put to work for you. You want HTML / AJAX tabs on your website, just issue the command and you have your tabs. You want,...... issue the command and you have it. There is quite a big library of nice "things" you can use and this can speed up your development in a big way.
Secondly a nice thing to explore is the Oracle Berkeley DB Java Edition as a Persistence Manager for the Google Web Toolkit. Oracle has written a whitepaper about this subject and gives away some very nice coding examples for you to use. You can find the document on the oracle website.
I also found a nice video from Google Developers you might want to watch.
Monday, January 07, 2008
SQL injection

In basis it can be said that a SQL injection possibility is due to bad coding. When SQL injection was quite new it could be very hard in some cases to close a possible SQL injection vulnerability. At this moment there are so many standard ways of making sure that a client will send you what you expect him to send and make sure he is not able to "break out" of a web application that this is no longer a excuse.
Even do it is quite standard to test your application on this, and other, possible security vulnerabilities it is handy to have some documentation ready and read them so you can even gain a better understanding of this technique and how to prevent it from happening.
Before cleaning them up from my desk I like to share some of documents I will be shredding and which I found quite good in getting the basic understanding of SQL injection. The best way however is trying to hack into (your own) web-applications. Trying to find the possibilities, the loopholes and the way to close them.
A good read is:
Advanced SQL Injection in SQL Server Applications:
"This document discusses in detail the common 'SQL injection' technique, as it applies to the popular Microsoft Internet Information Server/Active Server Pages/SQL Server platform. It discusses the various ways in which SQL can be 'injected' into the application and addresses some of the data validation and database lockdown issues that are related to this class of attack. The paper is intended to be read by both developers of web applications which communicate with databases and by security professionals whose role includes auditing these web applications."
An Introduction to SQL Injection Attacks for Oracle Developers:
"Most application developers underestimate the risk of SQL injections attacks against applications that use Oracle as the back-end database. Our audits of custom web applications show many application developers do not fully understand the risk of SQL injection attacks and simple techniques used to prevent such attacks. This paper is intended for application developers, database administrators, and application auditors tohighlight the risk of SQL injection attacks and demonstrate why web applications may be vulnerable. It is not intended to be a tutorial on executing SQL attacks and does not provide instructions on executing these attacks."
SQL Injection:
"SQL injection is a technique for exploiting web applications that use client-supplied data in SQL queries, but without first stripping potentially harmful characters. Despite being remarkably simple to protect against, there is an astonishing number of production systems connected to the Internet that are vulnerable to this type of attack. The objective of this paper is to focus the professional security community on the techniques that can be used to take advantage of a web application that is vulnerable to SQL injection, and to make clear the correct mechanisms that should be put in place to protect against SQL injection and input validation problems in general."
Wednesday, January 02, 2008
Blogging a full year
Monday, November 19, 2007
ZOHO online database

Thursday, November 15, 2007
Oracle Webcache error.

------------------------------------------------------
Illegal Characters in Request/Response
The security gateway refused to process and retrieve the URL you requested because of a protocol violation:
The security gateway saw the request/response:
HTTP/1.1 200 OK Date: Tue, 13 Nov 2007 14:41:56 GMT Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.0.2 (H;max-age=214741422+0;age=66556;ecid=1194964916: 10.32.4.3:8357:0:5777b\37777777613\001 ) Cache-Control: private Content-Type: text/html Content-Encoding: gzip Content-Length: 3497 X-Pad: avoid browser bug X-Cache: MISS from amssys02.dmz-out.smartapps.nl Keep-Alive: timeout=15, max=100 Connection: Keep-Alive \037\37777777613\010
This kind of protocol violation is denied in order to protect Web clients/servers from attacks that include control and other non-printable characters. It is also denied to ensure that only HTTP traffic is passed by the HTTP proxy, thus ensuring the integrity of your site's security policy.
If you believe that this request should have been allowed, contact the Web site administrator and request that their application be modified to be HTTP compliant.
------------------------------------------------------
After some research we found that the “server” header from the response from the webserver contained the illegal characters mentioned. Below we see a header that is passed correctly to the client without being refused by the security gateway. At the end of the “server” string we can see the following text “2136out.smarÇTÄ)” This text is changing every time you request the page. Meaning that in some cases the characters are not compliant to the characters that are agreed on in the RFC.
------------------------------------------------------
GET / HTTP/1.1
Host: www.thetasteoflife.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025
Firefox/2.0.0.9
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;
q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=83643603.296507212.1191756626.1195044105.1195049174.28; __utmz=83643603.1193130261.16.3.utmccn=(referral)|utmcsr=miele.nl|utmcct=/apps/vg/nl/miele/Miele001.nsf/LookUpPage/Homepage|utmcmd=referral; __utmc=83643603; __utmb=83643603
HTTP/1.1 200 OK
Date: Wed, 14 Nov 2007 14:09:42 GMT
Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server
OracleAS-Web-Cache-10g/10.1.2.0.2
(H;max-age=214748349+0;age=157949;ecid=1195049382:10.32.4.3:8408:0:2136out.smarÇTÄ)
Cache-Control: private
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 1701
X-Cache: MISS from amssys02.dmz-out.smartapps.nl
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
------------------------------------------------------
If this is the case and some of the “random” characters are not in the character map agreed upon in the RFC the security gateway will close the connection and the client will get the following http header error (Illegal Character in Response Header):
------------------------------------------------------
GET / HTTP/1.1
Host: www.thetasteoflife.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025
Firefox/2.0.0.9
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;
q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=83643603.296507212.1191756626.1194798880.1195044105.27; __utmz=83643603.1193130261.16.3.utmccn=(referral)|utmcsr=miele.nl|utmcct=/apps/vg/nl/miele/Miele001.nsf/LookUpPage/Homepage|utmcmd=referral;__utmc=83643603
HTTP/1.x 400 Illegal Character in Response Header
MIME-Version: 1.0
Date: Wed, 14 Nov 2007 13:58:49 GMT
Connection: close
Content-Type: text/html
------------------------------------------------------
This will result in the error page in the browser on the client side. Meaning as long as the random chars are not hitting “faulty” characters the website is shown correct, if not the client is showing a error page. To prevent this the “server” header in the response headers needed to be modified. To do so in Oracle Web Cache you need to modify the webcache settings in the webcache.xml configuration file and restart webcache. Change the string:
<debuginfo header="YES" eventlog="NO" htmlcomment="NO" switchstring="+wcdebug">
To:
<debuginfo header="NO" eventlog="NO" htmlcomment="NO" switchstring="+wcdebug">
After that, restart webcache and your “server” response header will look clean and will not have “random” chars in it which can create the error.
“Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.0.2”
Powerpoint online

Web2.0 is all about sharing and user generated content online. Some web2.0 initiatives are great for sharing your pictures online, placing them on a "google" map and give the rest of the world the option to look at places via your pictures. Also web2.0 have brought us the possibility to work online in word like applications and now we have some sort of powerpoint online in the form of ShowBeyond, a place where can you create and share slideshows online. A great online app which, if it starts to pick up speed can become a great tool.
Tuesday, October 23, 2007
Web 2.0 goes corporate
The report is based upon a survey done in January 2007 by the EIU and polled 406 senior executives from around the world on the impact of Web2.0 on their business. Sponsored by FAST, the online survey focused on the prospects for improved internal and external collaboration, increasing in revenue or profitability, and implementation challenges.
Respondents included 406 senior executives, of which 41% were from the C-suite or the board. The average company size was about US2.5bn in revenue, and the major industry segments including financial and professional services, life sciences, IT/Telecoms and media. Two-fifths of the respondents were located in north America, about one-quarter each in Europe and the Asia/Pacific region, and the rest from elsewhere in the world.
The survey was supplemented with in-depth interviews with senior executives across a range of industries, including financial services, telecoms, advertising and publishing.
Some nice figures turned p in the results of the survey and show that web2.0 is picking up speed also in the corporate areas.

Tuesday, October 16, 2007
Oracle Application Server Hosting

Oracle Application Server, more known for running Oracle E-business suite in most cases can also be used to run a website. Oracle Application Server 10g is developed with a demanding 24*7 environment in mind and copes with all the questions like "can I use grid computing" or "what about backup servers". I never experienced the power of Oracle Application Server as a web platform for consumer intended content and graphical rich websites until recently I was involved in the setup of a high availability website for a Dutch TV program named "the taste of life". This website is developed with some partners by SmartApps who are also providing the hosting of the Oracle Application Server.
When developing a high availability web platform you might want to take a look into Oracle Application Server.