Native Development Vs Hybrid Mobile Dev : 3 Ws explained …

Native Vs Hybrid Apps

Native Development Vs Hybrid Mobile Dev

– Which is Faster ? Which is cheaper ? Which one is Better ?

Customer experience for mobile is more important to your business than you might think !  – There is no compromise on this, no matter what.

Nobody has time for bad user experiences, your customers and employees included… right ?

The big question in today’s urban development landscape—whether to build a Mobile ready web site Vs a native app Vs a hybrid app. As a developer, you need to take the time to think through a few considerations before running off to develop software. We compared native and hybrid way of development to help you make the right decision.

So lets talk Native App:

Native apps

Native apps are written in a programming language specific to the platform they’re being developed for. This would typically be Objective-C or Swift for iOS and Java for Android. Native apps typically have better performance with rendering and animations than hybrid apps.

Eg: When it comes to Image Editing / GPS / GPU rendering, Bar Coding Solutions, Video calls etc.

Hybrid apps

A hybrid app is a mobile app that contains a web view (essentially an isolated browser instance, may be upto 2 versions down) to run a web application inside of a native app, using a native app wrapper that can communicate with the native device platform and the web view. This means web applications can run on a mobile device and have access to the device, such as the camera or GPS features.

So Time to Compare ?

  1. Performance :

    Since native apps are built specifically for a certain platform, they are typically written in lower-level machine code, which generally makes them faster and more efficient. This makes native development a better option if you are building an application with memory-consuming features and many background processes.

  2. Development Time

    Developing only one app for all platforms is definitely easier and less time consuming than developing a separate product for each platform. This is a great advantage for hybrid development as it allows for faster release, faster market penetration, and easier prototyping across platform. Also Hybrid allows to Development in 1 Platform and Port to others easily !! 

  3. UX

    iOS and Android have different design and UX characteristics. The two platforms offer similar functionality, but are executed in different ways. Each has its own standard for things like lists, menus, and headers.

    When you build a native app, it is really easy to meet users’ expectations because you are following specific standards. On the other hand, building a hybrid app means that you can’t strictly follow the two major platform patterns.

    Conclusion

    Deciding between native and hybrid app development is about trade-offs and all depends on your app and future plans. Many apps began with one strategy that was appropriate for that time and situation, then later pivoted.

    The key is to weigh your priorities. Given your time and resources, what is a must have and what is a nice-to-have? , Given the weight of the application and your beliefs about its future evolution within the market, is it crucial for you to build your application for both platforms at the same time from the start ?

    More Questions ? Talk to our expert for free @ info@techuva.com . visit us @ www.techuva.com

DBaaS : Why ? DB As A Service & Its Benefits.

Database as a service (DBaaS) is a cloud computing service model which provides customers with some form of access to a database without the need for setting up physical hardware, installing software or configuring for performance. This is all taken care by the Vendor themselves.

All of the administrative tasks and maintenance are taken care of by the cloud provider directly. Sounds Very Easy rt ?. Of course, if the customer opts for more control over the database, this option is available and may vary depending on the provider.


The whole reason why you would use a cloud solution is easy scaling. The second point is crucial if you need to be able to do point-in-time restores of individual databases, or be able to easily move databases to separate servers.

 

Eg. When Techuva (An IOT , ERP Company based on India) had around 50+ IOT devices sending data every 2 minutes.. when they had to scale up to 200+ devices.. they didn’t had run around to buy new servers or  buy new hard-discs or enable large servers..  The Auto Scaling helped them to increase from 50 GB HDD to 200 GB HDD and increase from 4 GB ROM TO 16 GB ROM without any downtime.  Thanks to AWS RDS.

DB on Cloud and DBaaS enables automates installation, disk provisioning and management, patching, minor version upgrades, failed instance replacement, as well as backup and recovery of your SQL Server databases. Cloud Solutions also offers automated Multi-AZ (Availability Zone) synchronous replication, allowing you to set up a highly available and scalable environment fully managed by Vendors directly.

Well right now : All the DBA features aren’t available on the Cloud DB Solutions, such as :

  1. You need full control over the database instances, including access to the operating system and software stack.
  2. You want your own experienced database administrators managing the databases, including backups, replication and clustering.
  3. Your database size and performance needs exceed the current maximums, or other limits of the Vendor
  4. You need to use SQL Server features or options not currently supported

So, What are things that you need to worry, When you are data is lying in someone’s Cloud

  1. Review which IP or Domains have access to your DB.
  2. Periodically take Backups and Snapshots and store it in a different server.
  3. Have stronger Password restrictions
  4. Don’t store Personally Identifiable Information or Sensitive Information in Plain Text.
  5. Validate all the requests from the application for authenticity using a Hash Key or AuthKey or SessionID to avoid any eavesdrops.

Remember the hacker out there just needs access to your data and he can analyse & sell it to competition at this convenience,

So as a DB Owner / Application Owner – Keeping the dark horses away from your Data is Most Important,

Need some IT Consulting ? talk to our experts free @ info@techuva.com

Stay tuned …
Techuva Solutions Pvt Ltd.

IoT Opens Door To Energy Efficiency — Not Just In Large Buildings … Read More..

Always the large business owners have sufficient funds and can invest into intelligent building technologies and leveraging these data-driven solutions to reduce costs, improve operational and energy efficiencies, and achieve broader corporate objectives like sustainability.

Today, thanks to rising economic needs and higher costs even the Small and medium building (SMB) owners struggle to maintain profits and sustain slim margins with more traditional approaches. Most of these smaller buildings lack the technology to generate the kind of data that ties energy consumption to operational and bottom-line performance.

So as a result, there is a huge lost opportunity for these business owners to save their Operational Expense. Solution is “The Internet of Things (IoT) concept”.

So there are three ways that IoT is opening new doors for SMB energy efficiency and business improvement.

Providing Plug and Play Solutions :
IoT is about the connectivity of devices, data, and personalisation of technology & data. Today’s IoT Platform helps to connect these business houses with Intelligent Energy Monitoring and Ambient sensors to monitor motion-sensor solutions or infrared sensors to detect people and switch on-off ACs , Lights , Fans etc. This helps in significant reductions in cost from this technology approach—as compared to traditional controls and automation.

 

Co-Joining multiple Problems Together :Success for these systems means to deliver a transparent ROI through utility bill reductions.Data Analytics :This means to understand which areas, which floors, which equipments are consuming more power or over utilised. So IoT for that matter—is the ability to have a centralised view of building operations to direct changes and make investments that drive down costs and improve experience.

Beyond Energy Efficiency:
The pain points that drive customers to invest in IoT solutions can vary in each situation. It is clear the SMB customers are pitching benefits beyond just energy efficiency. A few examples include:

  1. Monitoring Ambient Temperature
  2. Monitoring indoor Oxygen Levels
  3. Monitoring indoor Carbon dioxide levels
  4. Managing indoor ambient lights
  5. Managing outdoor lightings
  6. Motion Sensor enabled lightings / machines etc

So at Techuva Solutions. We have found that there is no-single-magic-sauce that solves every problem with a single answer or solutions. Hence we figured out different personalised solutions for various business needs :

eg:
Our Customised Energy Monitoring Solutions for Industries (with multiple tapping points), Simple Monitors for Shops, Houses, Hospitals etc & Ambient temperature monitors for Industry Floors, Hospitals, Mushroom & Dairy Farms have already started making differences to the energy utilisation .

Techuva Solutions has deployed thier IOT solutions for different Telecom Towers and have completed Phase 1 & Phase 2 trials successfully. Other Solutions like Diesel Monitoring solutions helps various players to efficiently run their DGs or Inverters.

So Our suite of various IoT Packages helps us solve various needs and Requirements of different Customers in a very efficient way, They come with Cloud Ready Architecture, Mobile Solutions and Web Application to view dashboards, change configurations real-time etc.

How & Why does DevOps saves 30% of operation costs & increases productivity by 25% ?

Every Organization likes to Strike a balance between developer and operations teams for rapid delivery & reduce dependency on a person.

Every business house have a constant quest to churn out the most current products to meet customers ever growing demand. The DevOps approach is increasingly becoming the answer for achieving the goal of non-stop product roll-outs designed to outpace competition with unmatched offerings, In Other words “beat the competition in every corner of the road”

The Biggest Challenge that every Organization tries to eliminate is the “Dependency of people issues and availability” & followed by Process Issue – i.e. going the factory model to reduce wastage.

Take a look @ this video : https://www.youtube.com/watch?v=_I94-tJlovg

So, Why DevOps Matters

This decade of technology have transformed the world and its industries, from online shopping to patient care. Information Technology is no longer merely an enabler; rather it becomes an integral component of every part of a business. Companies interact with their customers through software delivered as digital services or mobile applications and on all sorts of devices.

We use software to increase operational efficiencies by transforming every part of the value chain. In a similar way the humble shipping containers have transformed the world with respect to logistics movement and transporting goods faster and safely, Companies in today’s world must transform how they build and deliver software.

So what does this solve ? 

  1. Speed : Move at high velocity so you can innovate for customers faster, adapt to changing markets better, and grow more efficient at driving business results
  2. Accelerated Delivery : By Increase the frequency and pace of releases by 15%, You can release new features and fix bugs & respond to your customers’ needs by 30% and build competitive advantage.
  3. Cookie Cutter Experience : By ensuring the quality of deployments and infrastructure changes, companies can be more agile and keep a high pace while maintaining a product stability for customers. Techniques like continuous integration and continuous inspection at each change will help maintain a stable application and better customer experience.
  4. Growth: Enables Companies to Operate and manage infrastructure and development processes at ease & enable predictable growth easily. Automation and consistency help us manage changing systems efficiently and with less risk.

Continuous Integration

It’s More than a process. Continuous Integration is backed by several important principles and practices.

  • Maintain a single source repository
  • Automate of code build
  • Enabling self-testing
  • Reduce Human Intervention
  • Process Driven Environment
  • Automated deployment

So in other words ” Integrate at least daily”

Read this image below :

devops-ci

 

 

 

.

This leads to

  • Catch issues early and nip them in the bud
  • Spend less time debugging and more time adding features

“Continuous Integration doesn’t defects, but it make IT Teams easier to find and remove quickly”.

A Seamless Integration and Deployment : could save as-much as 30% of operation cost by eliminating the Time and Need of separate integration and deployment team.

According to 2015 Survey on SMB IT Delivery Survey in U.S.  DevOps can improve Team’s productivity by as high as 27% by eliminating the needs to Train and Document the M & P’s of Build and Integration Process and enabling the automated tools to take over the process.

 

Powering digital disruption at BMW

BMW CIO Klaus Straub is putting his IT teams in the driver’s seat for the connected car. Here is why ..

“Every branch of the IT department has a strong role [to play] in the digitalization phase over the next 10 years,” “Not just at BMW — but also at VW, Audi, GM, Ford and Daimler — all automotive IT are addressing the same topic, with IT teams driving much of the change.”

With digital transformation riding high on corporate agendas, many senior business executives have decided that they need to take direct ownership of digitalization initiatives — often to the exclusion of their IT colleagues. But, in the automotive industry, the opposite is happening.

e.g. Earlier at BMW Design HQ,  “While designed engineers designed a car, the IT organization was simply not involved.” IT is now deeply involved.

Thanks to IOT & Connected Driver Experience.

Major Catalysts of digitalization in Automobile Industry..

Connected cars
BMW already has the best car connectivity [record] of any company,” they have six million of their cars directly connected to the internet.

That will lead to increasingly autonomous driving but it also inspires a growing number of services that will be provided from the cloud and back-end IT infrastructure, enhancing the driving experience through machine learning and big data analytics.

Today “In the automotive industry, alongside our normal competitors such as GM, Ford and VW.  BMW is seeing competition coming from the IT industry, which makes it more complicated. BMW identifies them as Tesla, Google and Apple as their biggest threat

The company is already seeing several disruptions in this Next Generation Industry landscape.

Use of Additive Printing

One area with huge potential, is 3D printing. BMW plans to start printing specialist parts and use 3D printers in prototyping for greater efficiency and speed.

Another radical development is underway in assembly lines. BMW highlights how the machinery involved in production and the products they are making will increasingly talk to each other throughout the process. “This will give them new possibilities of quality,” BMW says.

Data lake construction

BMW is exploring the ability to exploit big data. For them, that area spans not just the analytics areas of business intelligence and data warehousing, but also the emerging field of machine learning.

Every Car, Every Driver, Every Terrain, Every Weather has a different story and different data to share

Which means that data becomes the gold nuggets of the future, helping to optimize products, get better customer views and optimize business models.”

  At Ford: they feel  The next 10 years are a revolution for the car industry — and for IT.

 

How to secure your AWS Instance & Protecting its contents.

Every second somewhere , some company has lost their 2 yr worth Data , Code, Intellectual Property or 3rd party license to some unknown Hacker !      – So how do you intend to protect it ? 


Securing your AWS
Securing your AWS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Here are 5 simple rule(s) that will help you the bend on road without falling off

  1. Validate your Inbound Ports♦

    Port 22 is the most useful port for entire development community, Yet This is major backdoor for all Hackers to steal the data in minutes. So the only way to ensure this is by having an INBOUND IP RANGE / PARTICULAR IP have access and not the entire WEB !

  2. Admin Module of Web logic / Tomcat ♦

    Admin modules can help you deploy the code / change root paths / change datasource properties at ease, Remember this is the same for hackers as well. All those default Users in tomcat-users.xml or weblogic-users.xml have a default password and hackers are more aware of this ! So first things first  :

    a) Change the username and password for all the default accounts as first thing, disable all unwanted roles and privileges that aren’t used.
    b) Once App goes to Testing – DISABLE MANAGER / ADMIN MODULE.  COMMAND LINE DEPLOYMENTS ARE ALWAYS SAFER

  3. Set up a Passphrase for the Private Key and Safeguard it.

     Always having a passphrase / passcode to prviate key is an extra bit of security to the entire gamut.  Remember A Good Front Gate can stop many things to for attempting get inside.

  4. Your Database

    Hackers don’t get into our AWS server to look into our coding practices / vulnerabilities, they are here to exploit, violate and most importantly STEAL the DATA from us.So here are top 3 things we should do to safe gaurd our data:

    1. Customer Schema should have be encrypted (Data At Rest and Data At Motion)
    2. Passwords should never be able to decrypted – they should only compared (the decrypted values)
    3. Not Storing the PASSWORD to the DB as Plain Text in your application.properties or db.properties [If they are encrypted and stored in your .class or .mdb files of your .Net Applications] they are safer.

  5. Application Hygiene

    1. Passing of form data in the url (eg: http://myapp.com/customer_id=1023) – Boom !! You are lost in the woods already, Many Fortune 100 companies have lost there data atleast once because of this poor development habit.

    2. Showing Complete Exception details on the screen i.e. Showing the technical details of the server , database , table name on the screen during an exception.

    3. Most Importantly : Text Fields should know what they are meant for and should allow only those text characters only, Special Chars and SQL Injection poses as the No # 1 Threat.  Recently a FMCG company lost 100K Customer information when their forgot password (email text box) as simple as it.

 

Thanks and Stay Tuned for More – Techuva Solutions Pvt Ltd.

10 Useful TIPS for a Faster J2EE Application !

Why is your app slow ?

Ever felt your application should be more faster and responsive ?

So here are 10 things that can help you make your application faster !

                                                   

  1. Know your Queries !
     The most resource intensive section of any application is the DATABASE ! its the slowest of all – remember DB is always FILE IO (Okay, Unless you deal with in-memory database or SAP HANA or MapR). So this is a great opportunity to tweakeg: if you wanted to access the last X records

                                           SELECT id FROM Order WHERE … (Fetch the last X Records)
And then I’d execute one query for each record:
SELECT * FROM Order WHERE id in (Results from your first Query) ?

            this is roughly 20-30% less IO , Processing Cost on your DB Server Head.

      2. Not using DB Connection Pool
           Remember ! every time you do a class.forname( com.mysql.jdbc.driver )   Your JVM has done a reflection and loaded the class on memory and trying to get you a connection !! this takes roughly a second, So better use the connection pool and set the initial capacity = 10 and roughly have 1 connection for every 5 concurrent user or 1 per 25 to 50 users (active during that hour). So roughly a 100 user app will need around 10 connections in the pool to keep your business running on a summer day.

 

     3.   Calling the GARBAGE Collection Explicitly
             This is an another costly stuff ! every single time when the full GC (Garbage Collection) runs it stopped processing all the threads until its done… which means – if that runs for 3 seconds… all the users on the application or server are FROZEN for those 3 seconds…  that poses a terrible user experience.

So in order to avoid this reduce the scope of all the variables to local / function level variables – this will eliminate so many variables remaining the memory even after they are used.

Another TIP is : After you have used a variable and you don’t need it anymore – then de-reference it by making it point to null.

In a modest 2-3 gigabyte  heap this might be 3-5 seconds, but if you are running a 30-gigabyte head this   could be more on the order of 30 seconds

    4. Concurrency Issue :
           Its always a developer nightmare – when 2 threads are pointing to a same shared resource and they result in deadlock.

Few Developer Nightmares :

• Thread deadlocks
• Thread gridlocks
• Thread pool sizing issues

Code deadlocks occur when two or more threads each possess the lock for a resource the  other thread needs to complete its task and neither thread is willing to give up the lock that it
has already obtained.

At Database level, Deadlocks happen when a thread is trying to update a record and an another thread is trying to read it ! or 2 threads are trying to update a record and both fails at a point.

Synchronised blocks  is normal culprit and has to be dealt properly. – this can use unexplained stuck threads and resulting in performance delay and data inconsistency etc.

           Tip: Way to get over ! you mostly see stuck threads in production (since its v.hard to reproduce).. enable thread dumps and evaluate them in detail and understand bottle necks in the code and de-congest them to avoid the deadlocks.

 

5. Overuse of HTTP Session
          Since HTTP Session is the easiest way to carry objects from 1 module to another…Developers over-use this function…  and it always becomes and pain at the end of development or in production.

So there has to be utilities written to understand what objects lies hidden in your JAVA Session and clear them explicitly  once the user left a module to another module or when its no longer required.  Since the HTTP Session gets bloated when there is large number of concurrent users – it can bring down the entire application “java OutOfMemory Exception ”  does that sound familiar name to you ? Oh yea – In several developer’s case… Including mine in the past.

         Tip: Use In-house Utilities to dump the HTTP Session variables and determine which has to removed at the exit of what modules.

    6. String Concatenation
                    Not a serious offence ! remember all those places where queries are concatenated by + symbol…. if there are more than 10 lines – String is 2X costlier than string buffer
and you have 100-500 users… all those 2X difference is going to make a serious impact.

So as a standard practise : Use String Buffer for all queries / concatenation needs instead of string.

   7.  Not using JSON for webservices
                   Now it has become a standard for folks to user JSON instead of SOAP XMLs ! thanks to all Angular JS / Metorite / NodeJS etc.   JSON is upto 10 times lighter than SOAP Webservices (period).

e.g: a employee web service which carries 50 fields and its values in XML world its around 50-65 Kb of data transfer and in JSON case its 5-9 KB of data

Tip  : If you have options – move to JSON for performance and use a proper parser on the front end.

 

     8 .  Compression of those JS
         Remember those JS from Angular and jQuery the min versions…. they have been stripped of their empty spaces … they have been done for a reason .. a 200 KB JS file when compressed and minified – its only around 30-40KB

Tip : Wherever possible : minify the JS file for Production and have a normal version for development and debugging ! – Bingo serves both purposes.

    9 .  Optimising the UX-Views
            A simplified UX is always quicker , swifter and has better navigation experience. So introduce JS based sorting on the screen instead of DB hits / Use of Stored Procedures or Views instead of Queries for VIEW only / Data Fetch areas – Remember they are pre-compiled – hence more faster.

   10 . DB Optimisation

Simple difference of an hitting a table with index which has more than 100,000 records (on MySQL DB) is upto 60 to 90 % faster.

1) does your tables have indexes on most columns that you use for searching like employee_id, employee_name, age, city, status (of employee table).

2) do you have triggers enabled on large tables which are been modified very faster ?

3) If an your query takes more than 6 seconds – rule 1: it should move to stored procedure or a view and validate all indexes. remember MySQL can read 100,000 in 1 second.

4) Java Controllers are FASTER than JSP (since they are already compiled) so have your logic written on either in the query or controllers instead of JSP

 

Thank you ! Stay Tuned for More…..

-Techuva Solutions Pvt Ltd.

Migrating to Cloud ? First Steps !

 

Moving to a Public Cloud (AWS) ? First Timers .. Here is some cheat sheets !

 

  1. Migrating to AWS ?

    Have you tried the free Micro Tier ? That gives you 1 full-year free ownership on 1 server (micro). Use that to learn AWS and Deploy your first app.

  2. Setting up Tomcat 7 or 8 on your EC2 Instance

    Download the PEM File and use a putty-gen (downloadable exe) to create your Private Key, Use the private key to connect to your AWS Instance.
    Remember to save your private key and pem file for future references.

    Installing Tomcat via YUM Installer on your AWS Instance

          sudo yum install tomcat7-webapps tomcat7-docs-webapp tomcat7-admin-webapps

This command installs tomcat 7, admin app, manager gui as well.

Next step is to go /usr/share/tomcat7/conf/tomcat-users.xml and uncomment last few lines and set a password for the roles.

<user name=”admin” password=”admin12345″ roles=”admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status” />

      3. start / stop your tomcat

To Start the Tomcat Service :                                            sudo service tomcat7 start

To Stop the Tomcat Service :                                            sudo service tomcat7 stop

To Add Tomcat Service to Auto Start :                           sudo chkconfig tomcat7 on

For F-Secure / SSH Client – give all permissions   eg:  sudo chmod -R 777

     4. To add tomcat port to the AWS open list :

     5. Connect to the instance by public DNS name on port 8080.

     6. You are done with your tomcat on AWS !

     7. Go the browser and access the port 8080 (http://your aws public ip :8080) , and you the manager application to deploy your first application

What is SQL Injection & What are steps to fix it ? – most common problems of e-commerce sites

SQL Injection (SQLi) refers to an injection attack wherein an attacker can execute malicious SQL statements (also commonly referred to as a malicious payload) that control a web application’s database server (also commonly referred to as a Relational Database Management System – RDBMS). Since an SQL Injection vulnerability could possibly affect any website or web application that makes use of an SQL-based database, the vulnerability is one of the oldest, most prevalent and most dangerous of web application vulnerabilities.

How SQL Injection works

In order to run malicious SQL queries against a database server, an attacker must first find an input within the web application that is included inside of an SQL query.

In order for an SQL Injection attack to take place, the vulnerable website needs to directly include user input within an SQL statement. An attacker can then insert a payload that will be included as part of the SQL query and run against the database server.

The following server-side pseudo-code is used to authenticate users to the web application.

app_user_name      = request.POST[‘username’]
app_user_passwd  = request.POST[‘password’]

# SQL query vulnerable to SQLi

sql = “SELECT id FROM users WHERE username=’” + uname + “’ AND password=’” + passwd + “’”

# Execute the SQL statement database.execute(sql)

 

The above script is a simple example of authenticating a user with a username and a password against a database with a table named users, and a username and password column.

The above script is vulnerable to SQL Injection because an attacker could submit malicious input in such a way that would alter the SQL statement being executed by the database server.

A simple example of an SQL Injection payload could be something as simple as setting the password field to password’ OR setting an inner query to (delete * from users) 

This would result in the query to be executed and data can be corrupted or manipulated.


What’s the worst an attacker can do with SQL?

SQL is a programming language designed for managing data stored in an RDBMS, therefore SQL can be used to access, modify and delete data. Furthermore, in specific cases, an RDBMS could also run commands on the operating system from an SQL statement.

Below are few things an attacker can inflict serious trouble to any organisation :

  • An attacker can use SQL Injection to bypass authentication or even impersonate specific users.
  • One of SQL’s primary functions is to select data based on a query and output the result of that query. An SQL Injection vulnerability could allow the complete disclosure of data residing on a database server.
  • Since web applications use SQL to alter data within a database, an attacker could use SQL Injection to alter data stored in a database. Altering data affects data integrity and could cause repudiation issues, for instance, issues such as voiding transactions, altering balances and other records.
  • SQL is used to delete records from a database. An attacker could use an SQL Injection vulnerability to delete data from a database. Even if an appropriate backup strategy is employed, deletion of data could affect an application’s availability until the database is restored.
  • Some database servers are configured (intentional or otherwise) to allow arbitrary execution of operating system commands on the database server. Given the right conditions, an attacker co

An SQL Injection needs just two conditions to exist – a relational database that uses SQL, and a user controllable input which is directly used in an SQL query.

In the example below, it shall be assumed that the attacker’s goal is to exfiltrate data from a database by exploiting an SQL Injection vulnerability present in a web application.

Example on how to avoid SQL Injections 

Default Example : 

String name = //user input 
int age = //user input 
Connection connection = DriverManager.getConnection(...); 
PreparedStatement statement = connection.prepareStatement( "SELECT * FROM people WHERE lastName = ? AND age > ?" ); 
statement.setString(1, name); //lastName is a VARCHAR 
statement.setInt(2, age); //age is an INT 
ResultSet rs = statement.executeQuery(); 
while (rs.next()){ //... }

Now the above code can be violated by executing like name = (update employee set password=’123′)   or name = ‘delete * from employee’   – this could completely put things at a toss

Safer Approach :

List<Person>; people = //user input

Connection connection = DriverManager.getConnection(…);
connection.setAutoCommit(false);

try

{

             PreparedStatement statement = connection.prepareStatement( “UPDATE people SET lastName = ?, age = ? WHERE id = ?”);
for (Person person : people)
{
statement.setString(1, person.getLastName());
statement.setInt(2, person.getAge());
statement.setInt(3, person.getId());
statement.execute(); }
connection.commit();
}

catch (SQLException e)
{
connection.rollback();
}

So these design and coding principles have  to applied during intial phase of the project so every sprint or every iteration code gets better and better.

-Tech Team from Techuva Solutions 

Why IoT? Three big reasons from a customer centric view

You may have read how different companies and different business models are applying Internet of Things (IoT) concepts to transform their business. Their deployments reflect the bottom-line impact that is possible with advanced IoT initiatives. For instance, Automated Light System Introduced by developers in large establishments have reduced their power bills already by 20% and Auto Makers have moved ahead and they provide features to mirror their phones to into the Car’s infotainment system without any wires / plug-ins.  Hospital Patient Care Remote Monitoring has helped several post operative care patients.

 

And while there’s much to be learned from advanced players in IoT with complex concepts and solutions, there is also plenty of opportunity for companies that are just starting out with IoT. When you look at new IoT deployments in this emerging technology landscape, there are three key business fundamentals where companies of any size can gain.

e.g.: Hyderabad based IoT Technology startup “Techuva Solutions” today apply IoT solutions in different areas like

1) for monitoring Cell Towers in India about their Temperature , Humidity and Co2 PPM Levels, Intruder Alerts automatically via email / sms / automated calls to different field techs.  This is centrally controlled by Administrator Dashboards – monitoring several parameters.

2) Centrally Controlled and Monitored Mushroom Farms : Where Temperature and other 3 critical parameters are captured and events and notifications are generated directly from the cloud based systems to the farm owners / administrators.

… several more use-cases for monitoring Heat Exchanges (in-bound channel, out-bound heat sinks) , Prototype for measuring Air Quality and 15 other parameter automation / notification for private real estate developer etc.

So IoT essentially helps on :

No. 1: Reduce costs

In most industries, it’s easier to save on expenditures than to build revenue, and the same principle holds true when it comes to building value with IoT. So it shouldn’t be too surprising that creating efficiency and reducing the costs of doing business was the number one answer customers gave to the question of what they think they can gain from IoT in our recent study by Keystone Strategy*.

For companies struggling to streamline their vision for IoT and focus on the fastest time to value, reducing costs provides the shortest path to success. With ROI realizable within the first year, cost reduction is also one of the most influential ways for business group leaders to drive alignment when board approval is required for their IoT investment.

 

No. 2: Increase revenue

Increasing revenue is another big reason companies are looking to the Internet of Things today, but because it often involves building out the organization to accommodate the new business, it generally takes longer to realize ROI from the effort.

The rewards, however, can be substantial, and we’ve seen several customers leverage their initial IoT work into new services that can be added on top of products to generate post-sale revenue streams.

Remote monitoring and predictive maintenance scenarios are a prime example.

 

3: Transform the business

Over last 1 year, few of our customers have told us that transforming their business was a key goal at the outset of their IoT initiatives, but many adopters have said they now see the potential for a data-driven transformation arising from their efforts.

The most common scenario for such a transformation is the ultimate maturation of additional revenue streams into a new business division,  Many companies are no longer selling equipment, but uptime, which is what their customers care about most.

Down the road, as more companies think through the application of IoT principles in their industry, there is the potential for this approach to be a truly disruptive force across many industries. It wasn’t long ago that nobody would have imagined a fleet of taxis carrying GPS devices connected to a central user app could revolutionize mass transit, but today it has.

 

Thus IoT is not an technology adoption ! its game changer for tomorrow.

– Techuva Solutions Pvt Ltd