HP Software Developers Blog
HP Software Developers thought leadership around software architecture and design, cloud data modeling, mobile technologies, big data, performance programming and more.

Embedding Jetty in a Java Main Application

Sometimes it is desirable to embed a servlet container inside a "main" or standalone application instead of writing the application itself as a web application and package it as a war. An example for such a use case could be when you'd like to use Spring Remoting to expose some services over the net, but don't want a full blown application server.

Agile developers: How valuable are you?

The recent tremendous growth in the adoption of Agile methodology has created new opportunities for Agile practitioners as enterprises scramble to find these important skill sets. With this strong interest in skilled Agile practitioners, how can you be sure you are earning what you are really worth in today’s market? HP and ASPE may have the answer for you.

Tags: Agile| Salary| survey
Labels: DevOps

8 aspects that software architects must keep in mind when developing SaaS

The rapid growth of cloud computing has caused many ISVs to change their software delivery models. They are shifting from  on-premise deployments to the cloud and they are adopting the Software-as-a-Service model to achieve their business objectives.


With this in mind, what architecture shift should be done in those on-premise products to deliver them as SaaS offerings? keep reading to find out what steps you should take to meet these needs.

 

The article was written by Olga Kogan

Detect HTML5/CSS3 Features Using the Modernizr JavaScript Library

In the past, when we developed an application or website, there was a limited variety of browsers: Microsoft Internet Explorer and Netscape. The changes between the browsers forced the developers to detect the browser type by user string and load the appropriate JavaScript file accordingly.

 

Now there are a huge variety of browsers— five major desktop browsers—and countless browsers on other platforms, including mobile and gaming consoles. Now that you have an image of all the different browsers that we come into contact with daily, remember that almost all the major browsers update frequently.  Each of these updates affect (sometimes heavily)  the features that the browser supports.

 

In this post we will share how to use the Modernizr library in order to solve this mess...

 

This article has been written by Ran Bar-Zik

Content Delivery Networks (CDN)

Rotem explains the concept of CDN - worldwide caching optimization via cloud computing services.

Tags: Caching| CDN
Labels: Networking

Mobile Functional Automation – Real Object Identification

The Mobile applications market is growing rapidly and so are the mobile automation solutions with record replay capabilities. In this post, I will try to introduce one of the major problems in mobile functional automation, focusing on Android un-rooted devices and non-jailbreak iOS devices.

Labels: mobile

What goes around comes around (Javascript testing with Jasmine and Karma)

My team uses AngularJS which was written with testing in mind “so there is no excuse for not testing”.

The dependency injection mechanism it uses is powerful for substituting real dependencies with fake ones for testing in isolation.

Separation of concerns is also inherent in the framework, so that logical code is tested separately from presentation logic.

 

Our chosen testing framework is Jasmine and we use the spectacular test runner for Javascript - Karma.

 

This post was written by Eitan Peer

Labels: web

JavaScript Inheritance Revisited - part 2

The second part of the JavaScript Inheritance Revisited blog post

This post focuses on what other frameworks and compiled-to-js languages are doing in terms of inheritance.

Labels: web

JavaScript Inheritance Revisited

JavaScript is an excellent language for Object Oriented programming although its prototypical inheritance mechanism is often misunderstood. Alex Sexton (@slexaxton) recently posted a nice (and somewhat amusing)blog post called "Understanding JavaScript Inheritance" which gives a fresh and interesting view on the whole topic. There are numerous other articles, blog posts, etc., available around this topic. Most of them explain various ways to implement JavaScript inheritance (e.g. this and the famous one by John Resig here). The problem, as far as I can see it, is that as a newbie JavaScript developer one might be lost in the slew of the specific details that each and every such post presents. In this blog post I want to try a different approach where I create a general overview of the various methodologies without naming them with specific names (such as "Functional", "Pseudoclassical", "Pseudoclassifunctional", or "Jerry"). I hope that after reading this blog post you will be able to understand the best direction to take with your inheritance scheme.

Labels: web

Reading a Java Method's Parameter Names

Sometimes there is a benefit in knowing the parameter names of a method at runtime without doing anything special about it, i.e. without adding a custom annotation. This article demonstrates how to easily do it with a very small open source library.

 

Labels: Java

Enterprise agile – Part 1 : Preplanning

“The team is everything”,  “The team owns its own planning” . yea right! As if my project manager and his PMO and marketing managers cares.. . Please join my first post about preplanning  that tries to describe how my team tries to balance between the corporate demands for control and planning and the team autonomy as it should be in agile development.

Labels: DevOps

Using ASM to calculate test coverage in a new way. (Java)

Using ASM to calculate test coverage in a new way.

ASM is an all purpose Java bytecode manipulation and analysis framework.

Sniffing System Startup

We are used to having all computers, cell phones, and other devices connected to the network.  How does that connection happen? It is interesting to monitor a system from the moment it boots up until it is fully connected to the outside world, and see which protocols are involved in the process.

Labels: Networking

DevOps Con Israel: Enterprises will have to wing IT

Who has a harder time DevOps-ing, enterprises or SMBs? Recent DevOps Israel conference unveiled some of the differences and got me wondering...

Labels: DevOps

A perspective on the use of machine learning in management of complex applications

Data centers are the backbone of the 21st century economies. They are used to serve, process and store information about everything that happens electronically. That includes pretty much most of what we do today, both as consumers and as business entities. Everything is managed by data centers.

 

A data center includes the physical hardware – racks of computers, all connected through a physical network, internally and externally, to other data centers. But it is not just the hardware – there are the operating systems, middleware software, applications and services, which make up what we see as end users on our desktops, mobile phones or browsers. These are the layers of abstractions that make up complex applications and services that serve us in our daily lives.

 

Keep reading to find out how data centers assist with complex applications.

 

Post written by Ira Cohen

Labels: Analytics

Oracle HAKAN Factor During Partition Exchange

Amongst the best performance functionalities in the Oracle Enterprise server is good old table partitioning, introduced way back in release 8.0.

If you are an experienced Oracle DBA, you've probably used partitioning at one point or another. As you added/dropped/exchanged/split/merged/rebuilt partitions in your data warehouse, you were quite confident that nothing would surprise you…

Well, what does the following message tell you?

ORA-14642
Bitmap index mismatch for tables in ALTER TABLE EXCHANGE PARTITION
Error Cause:
The two tables in the EXCHANGE have usable bitmap indexes, and the INCLUDING INDEXES option has been specified and the tables have different hakan factors.

 

H a k a n factor???

Labels: Databases

Using Regular Expressions to Evaluate Path Variables in a Spring MVC controller

Spring is a very popular dependency injection framework. One of its sub-projects is Spring-MVC which helps developer create a robust web-tier in their application.

 

This article shows an advanced (and little-known) feature that allows handling a set of requests URIs by matching them against a regular expression.

DevOps maturity model - Part 2

As DevOps gains momentum in the industry, it is taking on various interpretations and approaches. This article is based on HP’s research and industry experience. It will propose a maturity model for DevOps, evaluate the key success factors and their evolution. Application owners, development teams and IT operations personnel who are looking to adopt DevOps or mature their DevOps practices, will be able to learn the DevOps landscape, assess their current position and work out their evolution path.

Part 1 describes the proposed DevOps maturity model. Part 2 contains several practical examples on how the model is used to estimate the maturity level of different activities, and what is required to move from one level to the next.

DevOps maturity model - Part 1

As DevOps gains momentum in the industry, it is taking on various interpretations and approaches. This article is based on HP’s research and industry experience. It will propose a maturity model for DevOps, evaluate the key success factors and their evolution. Application owners, development teams and IT operations personnel who are looking to adopt DevOps or mature their DevOps practices, will be able to learn the DevOps landscape, assess their current position and work out their evolution path.

Part 1 describes the proposed DevOps maturity model. Part 2 contains several practical examples on how the model is used to estimate the maturity level of different activities, and what is required to move from one level to the next.

Tags: Olga Kogan
Labels: DevOps

CSS is dead, long live SASS

Any developer that has written some CSS probably knows the hard, sad, truth: CSS is ugly. Not only is it ugly,but it is very hard to maintain and change. CSS was the big promise of the early '00 - no more tables and HTML attributes - just add some CSS to classes and ID and style your HTML neatly with clear separation between content and design. Unfortunately that just hasn't happend.

 

Keep reading to find out what SASS stands for and what it means for you.

 

This article has been written by Ran Bar-Zik

Tags: CSS| Ran Bar-Zik| SASS
Labels: SCSS| web

The magical life of JavaScript properties

Object properties are one of the fundamental structures of JavaScript.

In this article we will explore the magical world of those JavaScript properties with emphasis on their metadata

Labels: web

Understanding the Async Await API - part 1 (.NET)

The new Async-await feature in the .NET 4.5 framework is great, it allows you to free up the main thread without breaking the usual code flow or losing readability, but it takes a bit of thinking to understand it fully. Here is a walkthrough, presenting answers to some of the common questions and explaining the misconceptions I encountered when I first used the API for the Await feature, and how it relates to the previously released Task Parallel Library (TPL).

Search
Showing results for 
Search instead for 
Do you mean 
About the Author(s)
  • I've been all over the coding world since earning my degrees have worked several years in c++ and then several in java, finally setteling into c# about 7 years ago, where i spent a good amount of my time in Performance tweaking & memory debugging, as well as designing new solutions and hacking at old ones to stay in line. Computers never cease to amaze me, and i'm glad to have found a field where i get paid to do what i enjoy. some of my tools and thoughts are also stored in codeproject, and you are welcome to check them out there.
  • work as a Senior Technologist in HP Software ALM CTO office. Past experience include chief architect for Application performance management, QA manager for Business service management, developer for Real User management
  • This account is for guest bloggers. The blog post will identify the blogger.
  • Research Architect @HPSW, focused on what ALM means for developers, DevOps, user experience and other emerging practices. Previously was a functional architect and a developer in HP ALM and HP UFT products.
  • Seasoned architect with over 12 years of experience in the enterprise software business, contributing to setting the roadmap / vision, high level architecture and technology review, innovation management and product integration within HP Software portfolio.
  • Lior has over 15 years experience in the software industry in various roles – experienced in Enterprise Software and team build up . Lior Managed the HP Software ALM PCoE Group where he focused on the domain of application development and application performance management .
  • Malcolm is a functional architect, focusing on best practices and methodologies across the software development lifecycle.
  • Architect and User Experience expert with more than 10 years of experience in designing complex applications for all platforms. Currently in Operations Analytics - Big data and Analytics for IT organisations. Follow me on twitter @nuritps
  • CTO Office, Product Foundation Services, HP Software
  • Yaniv Sayers has over 15 years of experience in the IT and software industry, including software design, R&D and IT operations. Holds expertise in various spaces including IT operations, ITIL, ALM, Agile, Cloud, DevOps, Mobility and Software Architecture and Design. In current capacity Yaniv is a CTO in HP Software IT Management, responsible for planning and driving technology and innovations strategy with emphasized focus on solutions for agile development, DevOps, mobility and cloud.
HP Blog

HP Software Solutions Blog

Featured


Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.