Category Archives: Uncategorized

Netezza to compete with iPhone appliance

Netezza announced today availability of their revolutionary mobile device “iQuery”. “Netezza is redefining database”.

Quoted from press release: The Netezza iQuery is a fully integrated, portable, data collection device with five terabytes of queryable storage that allows users to collect and store data for ‘on the go’ analysis. Analytic functions are supplied to iQuery through downloadable applications — called “applytics” –which provide solutions to common dilemmas such as ‘should I wear a coat today’, ‘will the price of bread fall in my supermarket’ or ‘should I talk to that interesting looking person at the bar.’ When docked, iQuery connects to the Internet to search social media websites and other information providers to bring back options quickly and help decisions be reached with a minimum of debate and discussion

Definitely LOL for the 1st April , Netezza smart marketing always positively surprises me. http://www.netezza.com/data-warehouse-appliance-products/iquery.aspx

Contract Projection in WCF 4.0

WCF 4.0 introduce a concept “Contract Projection” – exactly ‘the right term’ I have tried to find while expressing the logical diagram of service concept, but called it “payload serialization/deserialization”. This concept of Contract Projection is about dcoupling integration logic from service, about posibility to have stable interface (type based .NET ) decorated with contract attribute (I call it mapping interface to contract) and multiple expression of how the contract will be used for integration with consumers. That is- what message format, encoding, protocol it will use. Contract Projection together with flexibility of binding through endpoints represent great way how to shield service code from interoperability standards details. So whether you want to access service through endpoint A, or endpoint B using JSON, SOAP,GeoRSS,GeoJSON, OGC/WPS,etc.. doesn’t matter. This is “flexibility of integration”.

“The .NET Framework 4.0 introduces the concept of a contract projection to separate the logical contract definition from the representation of the messages that are sent and received. This allows you to define a single-service contract that can be projected differently to support different messaging styles. For example, you can have one contract projection for SOAP-based messaging and another projection for REST/POX messaging, but both are based on the same logical service contract”

http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx

 

semi-virtualized machine running from USB

In summer last year I was experimenting with what I call “Geospatial Operating Environment” – a client based virtual appliance for geospatialy related operations that would give to user immediate (instant) tools and applications. Well, there is already approach to have USB drive and put there portable applications that can be run directly from USB drive without any need of installation. This approach is fine but definitely not error-prone since ‘the virtualization’ level is just on top of operating system and more dependent on a  host OS state and health. Running any executable from USB can potentially crash whole OS. Another approach is to virtualize applications using ThinApps or App-V but again the level of separation of OS from applications is not always guaranteed (I mean look on a way how you define virtualized applications – you need to sequence them (or ‘capture them’) where differences between initial state of OS and state of the OS after installation of apps represent the ‘properly installed and configured application’ that can be virtualized). Is this a right way ? why the industry is not looking more for jeOS and virtual appliances ? May be virtualized applications will give us more robust application sandbox that will less crash OS and less side-interact with other applications. Well may be the whole point is to always assemble OS+Apps where producer has always under control fresh new OS plus set of apps on top of that (Actually both CITRIX and VMWare are promoting this dynamic approach). Simply said, I do not trust so far to virtualized applications. OS is still pretty complex piece that you can make better, reliable but not as stable as hardware operations  today.Virtual Appliances rely on thin layer of hypervisor and hw while virtualized applications have much more large stack of software underneath.

Back to my topic… so I have done experimental client-side virtual appliance with lot of installed open source and free applications. One of them GoogleEarth was performing very slowly in virtualized environment due to the fact that virtualized environmend can’t so far utilize special hardware (a typical problem of virtual machines or common denominator).  But why not to run same appliance either virtualized or on physical hardware ? with VMWare it is possible with physical disk – once appliance is installed, you can either boot it directly from hard drive (or USB) or if you want to run it virtualized in some host environment, then this is possible too:

vmdk file then look very simple and access in fact regural disk image of the ‘virtual appliance’ – this is not any more virtual appliance but somehow ‘semi-virtualized’ appliance :

# Disk DescriptorFile
version=1
CID=2ccad3f7
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 625137345 FLAT "\\.\PhysicalDrive1" 0
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
ddb.adapterType = "lsilogic"
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "38913"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.geometry.biosCylinders = "38913"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63"

iPhone team

iphoneprogramIt is official now – we have been granted by Apple to enter iPhone Development Program for Universities. There are only two members so far, but anyone who would like to join for iPhone geospatial development  is welcome (and save time dealing with byrocrazy / restrictions of Apple while maintaining licenses and legal purity of development).  The team is located in Brno at Mendel University and virtually anywhere :). Are you interested in WMS for iPhone ? for supporting rich professional  map displays on iPhone ? What if  iPhne would serve as very good marketing  channel (while users are using some map application ?) So far plans are very simple – enable iPhone to consume maps stored in MapShake. The crazy idea is to enable OLON consumtion directly in iPhone. (since MapShake now stores OLON definitions) . mapiphoneConsider your role in this team and project and join today ! Any support is welcome.

preview of current work  is available here: http://mapserver.mendelu.cz/iphonelayers

Another good news is that this project has received start-up grant by Internal Mendel University Grant (IGA). The project has been evaluated as 16th out of 22 accepted projects for 2009.  Full version of the project proposal is available (in Czech Language) on request.

VMware ThinApp (ThinInstall) in MojoPac

postscanI wanted to  evaluate originally  ThinInstall  (now newly renamed by VMware to ThinApp) only. ThinApp requires as much as possible clean OS before capturing apps that should be virtualized. Since I didn’t want to boot my VM/install clean one I gave 2nd chance to MojoPac (a great idea, but half year ago MojoPac was crashing my entire Laptotp when trying to open files  with QGIS 10..) . This time MojoPac 2.0.0.0 positively suprised me. First of all I still don’t know how they technicaly do this. Could be by new windows session, but that was not proven…Back to my test. I decided to install fresh MojoPac ainto my WD external HDD and there I have installed trial version of VMWare ThinApp. I have choosen to virtualize complex caliber installation  application Bentley view v8i. All worked fine to my suprise. MojoPac was able to run Bently View as well as ThinApp successfully virtualised it. The footprint of the exe and dat file was huge (no compression)..1.3GB.  virtualised Bently view was able to run on host as well in MojoPac. The last test I have tried was to run both in MojoPac – Bently View installed reguraly as well as virtualised…just worked. To summarize this, I believe that MojoPac is a great way (if stable and improving) and directly competting with ThinApp from VMWare (which is not free).

On page http://www.xpnet.com/appvirt2008.pdf you migh find quite interesting  benchmark of current application virtualizations technologies of Microsoft Application Virtualization (App-V) 4.5; VMware ThinApp 4.0.1; Citrix XenApp 5; and Symantec Software Virtualization Solution (SVS) Pro 2.1.  In the report ThinApp is a winner.:[quoted from the research ]:

” Application virtualization solutions that use an embedded virtualization model (ThinApp) deliver the best application throughput. Only ThinApp delivers the combination of excellent raw performance plus low overall CPU utilization, making it the better solution for organizations seeking to minimize the performance “hit” typically associated with virtualization technology. “

2 Bently View v8i running inside MojoPac - 1 installed, 2nd virtualized by ThinInstall (and both virtualized by MojoPac)

2 Bently View v8i running inside MojoPac - 1 installed, 2nd virtualized by ThinApp (and both virtualized by MojoPac)

Here are my numbers of lunching Bently View v8i (all are measured by 4th run and untill dialog for selecting dgn file will appear):

run from installation in MojoPac: 2.8 s
run from ThinApp virtualization (uncompressed) in MojoPac: 4.9 s
run from ThinApp in host: 4.9 s
run MojoPac + Bently View from host : 14.8 s

this would give MojoPac 1.75x faster than default ThinApp virtualized application (regardless whether ThinInstall runs inside or outside MojoPac). But if compared to time from host to virtualized applicaiton run, than winner is ThinApp (3x faster) since there is no overhead with virtualisation of whole desktop environment.  (I  personally prefer – with regard to coherence introduced by Parallels – ThinApp way for smooth integration with current desktop)

MojoPac site : http://www.mojopac.com/
ThinInstall (ThinApp)  site : http://www.vmware.com/products/thinapp/

Technical vs. Business interface in SOA

keyboardmouseThere was a powerful interface that has been introduced on  early days of computers – Mr. Keyboard. The keyboard was very proud on himself since he could handle any technical commands that were necessary to control the computer. However later  with introducing of graphical screens a new interface came – Mrs. Mouse. Mrs. Mouse always argued that she is much more better than keyboard since she can quickly navigate and click over the windows and move objects quickly. Drag’n’drop was her favorite benchmark and higher granularity interface of mouse gestures was alpha and omega. Mr. Keyboard was frustrated, however he knew that there will be always need for precise command and control and that command line is a second nature of computers. Later on some engineers came and suggested to unite those two interfaces into one. They called it ‘One Input’ the result of the project was mouse covered on each of her button with small keys to handle commands. – it was called – “Keyboardmouse” ..the reason for this device was clear – we want to have just one interface into computer and be able to switch between advanced keyboard and easy to use mouse just by one hand button…There was a big show of this new approach showing connected/disconnected mode – when the mouse is on desk – you are connected and can use the mouse functionality, however when you lift mouse up, you can’t use anymore mouse functions since you are disconnected, but then you can use keyboard as ‘remote control’ device 😉 …it really exist just I can’t understand why this marriage  haven’t reached yet wide adoption…

 

The point:

 

The Keyboard – this is a technical (Service Provider) interface

The Mouse – it is a business (Service Consumer) interface

they just can’t live on one port….

SOA reincarnation

First of all – don’t worry –  if Anne Thomas Manes is saying SOA is dead, she means that SOA has already reincarnated under different ‘Avatar’. [This is  replay to Anne Thomas Manes blog “SOA is dead;Long Live Services” on http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html. ]
SOA term is heavily overloaded (and misused) and the term ‘SOA’ means different things for different people.  

SOA is service-centric approach with FWTH :  First WHAT (service) and Then HOW (the service will be implemented). Sounds simple but how many time have you heard that you must first start with processes first (the HOW) ? Example: you can wish to have a nice car, you can wish to have a key, fuel and you can master the process of enetring the car and driving. But unless the driving itself is your objective, your aim is to be in some place in right time. So first set your objective (location and time in this example), then deal with HOW (by car, by plane, teleport [star trek], clone yourself [?!] , etc..)

 

focusonwhat

fig.1 Focus on "WHAT" - focus on services

 

for the  blog statements:
 

I  agree with following statements:

“…the requirement for service-oriented architecture is stronger than ever”
“Organizations desperately need to make architectural improvements to their application portfolios. Service-orientation is a prerequisite for rapid integration of data and business processes; it enables situational development models, such as mashups,; and it’s the foundational architecture for SaaS and cloud computing.”
 

“SOA needs to be part of something bigger. If it isn’t, then you need to ask yourself why you’ve been doing it.”
 

I would just comment following statement:

“SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio”

 ..first note that in prior statement she is talking about IMPROVEMENTS to the application portfolio, but then, here is talking about REDESIGN
(redesign require more resources and investments than improvements)
 This statement is the idealistic SOA, or it is in contrast to the statement that SOA is renovation, not revolution – you don’t destroy whole building just to build from scratch new one. Not at all – you need to do smart renovation to reuse prior investments.

..moreover  we must start somewhere, defining contracts and stable service interfaces is the first step towards flexibility in refactoring service providers as well as consumer applications that are using those service contracts.

 …also she is not taking into consideration in this statement appliantization.  Appliance = Service host + Service Provider that implements service contracts. Appliance is new higher granularity service in fact. Virtualization uses the term ‘partitioning of hardware’ – the technique that allocates certain hardware resources for some software needs (consider software services). Virtualization doesn’t require HW vendors to completely throw away their architecture and build new one, it just enables you to effectively use whole potential of the current HW investment. The same applies for  original(legacy) applications – we need to do some ‘partitioning’ to enable flexible services without redesigning whole application architecture.  Of course for new projects/solutions the story is different – you can build up new architecture from scratch if you have enough resources – but this is usualy not the case of the current ‘financial asteroid’. In this respect I believe current economic climate just boost services, SaaS business model, cloud computing, virtualization and appliantization to maximize reusability of prior investments and fully utilize the hidden potential of current applications in production…all of that is based on principles of SOA (and Anne is somehow mentioning that in her prior statements)

 ..finally I am missing more  ‘mashups’ of siloed IT knowledge  to get some really BIG PICTURE of IT (and it’s support for  business)- something that Nick Carr is touching  (from very high perspective) in his book “The Big Switch”

SOA reincarnation

First of all – don’t worry –  if Anne Thomas Manes is saying SOA is dead, she means that SOA has already reincarnated under different ‘Avatar’. [This is  replay to Anne Thomas Manes blog “SOA is dead;Long Live Services” on http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html. ]
SOA term is heavily overloaded (and misused) and the term ‘SOA’ means different things for different people.  

SOA is service-centric approach with FWTH :  First WHAT (service) and Then HOW (the service will be implemented). Sounds simple but how many time have you heard that you must first start with processes first (the HOW) ? Example: you can wish to have a nice car, you can wish to have a key, fuel and you can master the process of enetring the car and driving. But unless the driving itself is your objective, your aim is to be in some place in right time. So first set your objective (location and time in this example), then deal with HOW (by car, by plane, teleport [star trek], clone yourself [?!] , etc..)

 

focusonwhat

fig.1 Focus on "WHAT" - focus on services

 

for the  blog statements:
 

I  agree with following statements:

“…the requirement for service-oriented architecture is stronger than ever”
“Organizations desperately need to make architectural improvements to their application portfolios. Service-orientation is a prerequisite for rapid integration of data and business processes; it enables situational development models, such as mashups,; and it’s the foundational architecture for SaaS and cloud computing.”
 

“SOA needs to be part of something bigger. If it isn’t, then you need to ask yourself why you’ve been doing it.”
 

I would just comment following statement:

“SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio”

 ..first note that in prior statement she is talking about IMPROVEMENTS to the application portfolio, but then, here is talking about REDESIGN
(redesign require more resources and investments than improvements)
 This statement is the idealistic SOA, or it is in contrast to the statement that SOA is renovation, not revolution – you don’t destroy whole building just to build from scratch new one. Not at all – you need to do smart renovation to reuse prior investments.

..moreover  we must start somewhere, defining contracts and stable service interfaces is the first step towards flexibility in refactoring service providers as well as consumer applications that are using those service contracts.

 …also she is not taking into consideration in this statement appliantization.  Appliance = Service host + Service Provider that implements service contracts. Appliance is new higher granularity service in fact. Virtualization uses the term ‘partitioning of hardware’ – the technique that allocates certain hardware resources for some software needs (consider software services). Virtualization doesn’t require HW vendors to completely throw away their architecture and build new one, it just enables you to effectively use whole potential of the current HW investment. The same applies for  original(legacy) applications – we need to do some ‘partitioning’ to enable flexible services without redesigning whole application architecture.  Of course for new projects/solutions the story is different – you can build up new architecture from scratch if you have enough resources – but this is usualy not the case of the current ‘financial asteroid’. In this respect I believe current economic climate just boost services, SaaS business model, cloud computing, virtualization and appliantization to maximize reusability of prior investments and fully utilize the hidden potential of current applications in production…all of that is based on principles of SOA (and Anne is somehow mentioning that in her prior statements)

 ..finally I am missing more  ‘mashups’ of siloed IT knowledge  to get some really BIG PICTURE of IT (and it’s support for  business)- something that Nick Carr is touching  (from very high perspective) in his book “The Big Switch”

Image Processing lectures

In year 2006 I have made series of presentations of thema image processing on Mendel University in Czech Language, You may find ppt slides useful here (although in Czech Language, there are lot of nice pictures collected from Web) : http://mapserver.mendelu.cz/sites/default/files/data/skripta/dpz/DIP1_7.rar

  • DIP1 – úvod, lidské vnímání obrazu
  • DIP2 – základní pojmy, digitalizace, modely
  • DIP3 – rektifikace obrazu
  • DIP4 – úprava obrazu
  • DIP5 – Prostorové zvýraznění
  • DIP6 – Spektrální zvýraznění
  • DIP7 – Segmentace, klasifikace
  • DIP 1 – 7 – Přednášky 1 – 7 power point