Tumgik
Text
Connected world, Cloud and Analytics
When we talk about connected things, loT of development is going on across all industry segments. We witnessed quite a few product launch announcements last year in this area. Still, I feel there are a lot of challenges for its implementation, which include remote connectivity, device management, network protocol standards, energy consumption, privacy/security, and many others. Maybe this is the only reason why we are not witnessing a large number of connected devices in our day-to-day lives, though the talks of IoT have been around us for more than a few years now.  But that is not the case for industry usage of IoT. The industry is investing heavily in IoT and many implementations are already on production, helping real-time operations, cost optimizations, and resource utilization. Please check out this video for further details on how Microsoft Azure IoT helps the industry. The evolution of the public cloud will help to boost connected devices and their applications. It will not solve the basic problem of Internet availability to things but will definitely solve the problem of connectivity and will help to process data easily. End-to-end solution for IoT applications with Amazon Web Services (AWS) has been implemented before the release of the AWS IoT service launch. Here, architecture differences between before and after AWS IoT launch will be discussed to provide some more insights on how to leverage this new service for applications that cover the data mining and analytics field. Before AWS IoT service:Below is the architecture in which sensor nodes connect to AWS Kinesis and sends sensor data.
Conclusion: After this, we have multiple options to read data from the AWS Kinesis stream. We can use Apache Storm for real-time streaming analytics. A sample of Kinesis Storm spout is available here. To display real-time data on a dashboard, Kibana was used and Elasticsearch
reads Kinesis stream, and processed data is used by Kibana. But as AWS keeps updating its services with new features, it now provides Amazon Elasticsearch service out of the box. For more detail please check out this blog by Jeff Barr. We can also use AWS Elastic MapReduce and process the Kinesis stream with some MapReduce tasks.  Storing data to DynamoDB or to other services is also possible. After AWS IoT service:There are many fixes needed in the first part of the above architecture. For example, we have to manually manage all the components that are connected to the network. Also to send data to a specific AWS service (Kinesis in our case), AWS API keys with specific roles need to be present inside things/devices. For all of that AWS IoT provides an excellent solution. With that, we can manage things/devices with all the features of AWS IAM which also includes certificate provisioning for things/devices. We can also revoke certificates associated with any node at any time. Below is the architecture after using AWS IoT service:
With the Rules Engine of AWS IoT, we can route messages to different AWS services. It also provides much-needed support for the MQTT protocol. Some of the noticeable features of this service include Device Shadow and Device SDKs. The remaining part of the architecture will remain the same for some application of data analytics and visualization which includes Storm, Elasticsearch, and other related methods. But with AWS IoT, we now can also talk to devices that enable us to design a wide number of real-time applications. The ultimate goal will be to use historic data generated and find some pattern out of it that will drive some key decisions.
Conclusion:With reduced hardware cost and availability of excellent cloud services, there is immense opportunity in various applications ranging from factory automation, healthcare, logistic & warehouse management, device/things remote monitoring to home automation. Resources: https://www.pimonk.com/post/connected-world-cloud-and-analytics
0 notes
Text
Jumpstart iOS automation using Appium
So how do we automate using Appium?Before we jump ahead, let us read a little bit about Selenium Webdriver. What is Selenium Webdriver?Selenium (not the chemical compound :-)) is a tool to automate UI on a browser. Simple, isn’t it? It is also a portable testing framework for web applications. It has a fairly good set of libraries that provides APIs that can be used to test UI on a browser or a headless browser using a client programming language of your choice. Selenium WebDriver succeeds Selenium-RC which was initially used to run browser-based automation. Selenium WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing some limitations in the Selenium-RC API.It also rules out the use of the Selenium server which was handicap-ed for running automation with RC. We will have to remember that the WebDriver requires browser support which is provided by default in Firefox, however for Chrome and headless browsers like PhantomJS you would require a client. For further reading:
http://www.seleniumhq.org/docs/03_webdriver.jsp
What is Xcode tool?For those who are unfamiliar with XCode, it is Apple’s IDE to develop Mac and iOS applications.  From automation, perspective iOS requires Xcode to be installed on the system for us to run XCUITest. For further reading:
https://developer.apple.com/xcode/
What is TestNG?TestNG is a testing framework that binds the best of both worlds from JUnit and NUnit, making automation easier and more powerful as well. For further reading:
http://testng.org/doc/
Steps to Install Appium , Xcode, Intellij :
Install Appium on your desktop
Download Appium desktop version (.dmg file for MacBook)
Install guide.
Install Xcode on your desktop
Go to App store or Download xcode (we need to be signed in to AppStore to download the xcode latest version. If do not have an Apple id then here you can create one to proceed further.)
Download Xcode and follow the instruction to install it.
Install Intellij in your desktop
Before install intellij, install java and set JAVA_HOME.
Download Intellij editor. Choose a community version for suitable OS Resource : https://www.pimonk.com/post/jumpstart-ios-automation-using-appium-part-2
1 note · View note